我正在嘗試爲卡片遊戲應用程序設置單元測試,但我的代碼正在拋出一個NullReferenceException:未將對象引用設置爲對象的實例。據我所知,我不應該得到這個錯誤,但它是。使用NUnit時的NRE
這裏是我的代碼:
[TestFixture]
public class Tests
{
CardTable aTable = null;
[SetUp]
public void setup()
{
aTable = new CardTable();
}
[Test]
public void setPlayerGold_setTo0_return0()
{
//arrange
//act
aTable.setPlayerGold(0);
//assert
Assert.AreEqual(0, aTable.playerGold);
}
}
public class CardTable
{
int playerGold;
public CardTable()
{
playerGold = 0;
}
public void setPlayerGold(int amount)
{
if (amount == 0)
{
playerGold = 0;
}
else
{
playerGold += amount;
}
goldLabel.Text = playerGold + "";
}
的異常被在aTable.setup行拋出雖然aTable沒有實例化,即使它顯然是在[設置],我想不通爲什麼。當我刪除'act'調用時,測試通過,所以aTable 不能爲空或者測試也會在那裏失敗。
我使用NUnit 2.6.0.12051運行Visual C#2010 Express v10.0.40219.1 SP1Rel。
任何幫助,將不勝感激。 謝謝!
請不要雙擊後。 –
對原始問題的評論和回答完全沒有幫助。我總結了我的代碼,它實際上排除了問題的原因。當我能夠編輯代碼以顯示問題時,問題就顯得陳舊而且沒有被看到。當我轉發它時,我在5分鐘內得到了答案。 – peter9464