我正在爲現有項目創建單元測試。無法將類型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);
}
爲docalc代碼:
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