我正在尝试为纸牌游戏应用程序设置单元测试,但我的代码抛出 NullReferenceException: Object reference not set to an instance of an object。据我所知,我不应该收到此错误,但确实存在。
这是我的代码:
[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 没有被实例化,即使它显然在 [Setup] 中,我不知道为什么。
我正在使用 NUnit 2.6.0.12051 运行 Visual C# 2010 Express v10.0.40219.1 SP1Rel。
任何帮助,将不胜感激。谢谢!