2012-05-18 3 views
0

데이터 기반 모드에서 간단한 계산기 응용 프로그램에 대한 코딩 된 UI 테스트를 수행하는 동안 및 주장을 추가 한 후 "나는."(이 소수점 또는 점으로 인해 내 테스트 결과가 전달되지 않습니다. Windows 응용 프로그램에 이미 있음).코드화 된 ui 테스트 계산기

따라서 저는 소수 자릿수와 정수를 포함한 모든 유형의 값을 받아 들일 수 있도록 코드 작성 방법을 알고 싶습니다. 데이터 테이블에 사용되는 내 csv 파일은 먼저 여기

input1  input2  expexted_add 
1.2   2.3  3.5 
2.4   2.5  4.9 
5.6   1.4   7  

이고, 두 번째 행은 통과지고 있지만, 세 번째는 실패지고 있습니다.

+0

데이터를 얻은 경우 (프로그램에 성공적으로 들어가는 경우) 문제를 추가하는 경우, 출력하고 있습니까? 오류가있는 경우 몇 가지 코드를 표시하십시오. 그러나 두 개의 부동 소수점을 추가하면 문제가 발생할 수 있습니다. – Hidde

+0

ur 답변을 주셔서 감사합니다. 여기에 데이터 테스트를 위해 사용한 샘플 코드가 나와 있습니다. this.UIMap.add_2_dec_numParams.UICalculatorDialogSendKeys = TestContext.DataRow [ "input1"]. ToString(); this.UIMap.add_2_dec_numParams.UIItemEditSendKeys = "{add}"+ TestContext.DataRow [ "input2"]. ToString() + "="; this.UIMap.add_2_dec_num(); this.UIMap.add_asertExpectedValues.UIItemEditText = TestContext.DataRow [ "expected_add"]. ToString() + ""; this.UIMap.add_asert(); – nks

+0

처음 두 행은 십진법이 있기 때문에 전달됩니다.하지만 예상 된 결과에서 세 번째 행의 값을 7로 만들 필요가 있습니다. 7. 그 다음에야 해당 문제가 발생합니다. 문제는 무엇입니까? 이 방법 this.UIMap.add_asertExpectedValues.UIItemEditText = TestContext.DataRow [ "expected_add"]. ToString() + "."+ ""; 다음 세 번째 행에 전달되며, 처음 두 행 가 expexted로 eoor 보여줄 것이다 D 노나 실패한다 <3.5 > 실제 <3.5. > 예상 <4.9 > 실제 U가 이번에 – nks

답변

0

내 생각에 사용 된 어설 션은 정수 또는 double로 변환하고 비교하는 대신 문자열을 비교하는 것입니다. "7"과 "7"의 문자열 비교. 물론 실패 할 것입니다.

어설 션을 UIMap 밖으로 이동하십시오. 그런 다음 Assert.AreEqual을 수행하기 전에 텍스트 상자 및 데이터 행의 텍스트 값을 두 배로 변환합니다. 부동 소수점 숫자가되는 double 실수로 인한 오판을 피하려면 델타가있는 버전을 사용하십시오 ...

+0

prob wud가 해결되면 "7"을 쓸 수 있습니다. csv 파일에 있지만 가능하지 않습니다 .i dnt는 기본 문자열 인 winedit 항목이므로 textbox를 문자열로 변경할 수 있다고 생각합니다. – nks