기존 프로젝트에 대한 단위 테스트를 만들고 있습니다.암시 적으로 void 유형을 int로 변환 할 수 없습니다.
n1
와n2
는op
문제가actual
함께 메인 프로그램
의 스위치 케이스에 입력 피연산자 인 수이다. cannot implicitly convert void to int
오류가 발생하여 예상 값과 실제 값을 일치시킬 수 없습니다.
[TestMethod()]
public void docalcTest(int actual)
{
Form1 target = new Form1(); // TODO: Passenden Wert initialisieren
double n1 = 15; // TODO: Passenden Wert initialisieren
double n2 = 3; // TODO: Passenden Wert initialisieren
int op = 2; // TODO: Passenden Wert initialisieren
int expected = 5;
actual = target.docalc(n1, n2, op);
Assert.AreEqual(expected,actual);
}
코드 : I 무효 반환 docalc ... int로 반환 형식을 변경하고 당신이 잘되어야한다고 생각
public void docalc(double n1, double n2, int op)
{
result = 0;
setText("clear");
switch (op)
{
case 1:
result = n1 + n2;
break;
case 2:
result = n1 - n2;
break;
case 3:
result = n1 * n2;
break;
case 4:
result = n1/n2;
break;
}
setText(result.ToString());
}
'target.docalc'란 무엇입니까? – PhonicUK
'docalc'은 무엇을 반환합니까? 만약 당신이 어떤 것을 반환하기를 원한다면 그것은'void' 메소드가 될 수 없습니다. – Oded
target.docalc (...)는 무엇을 반환합니까? 나는 당신이이 에러를 얻는 이유를 무언가로 추측하고 있습니다. – DaveHogan