我正在使用EF 6和MVC 5.我有一个调用MaxScore的方法,见下文。我测试了它,它在我的项目中工作。我是单元测试的新手,所以我决定尝试使用这种方法。当我调试测试时,我收到一个错误,“对象引用未设置为对象的实例”。错误指向下面方法中的第6行。有什么想法吗?
这是我的方法:
private HandicapSystemContext db = new HandicapSystemContext();
public int MaxScore(double handicap)
{
int _maxScore = 0;
_maxScore = db.AdjustedGrossScores.FirstOrDefault(x => x.MinimiumHandicap <= handicap && x.MaximumHandicap >= handicap).Score;
return _maxScore;
}
这是我的单元测试方法:
[TestMethod]
public void TestMaxScore()
{
int _maxScore = 0;
Calculation hc = new Calculation();
_maxScore = hc.MaxScore(10);
Assert.AreEqual(_maxScore, 7);
}
答案 0 :(得分:0)
要解决这个问题,我必须在Test Project中添加Entity Framewwork(使用NuGet)。我在app.config文件中添加了一个连接字符串。由于我正在使用Code First并在模型更改时删除并重新生成数据库,因此我不得不将localDB文件复制到/ bin / Debug /文件夹。每次数据库更改时我都必须重新复制数据库,直到我进入固态并切换到Sql Server数据库。