注意> 国家/地区表中的记录数:36条记录。
我的代码:
[TestFixture]
public class CountriesControllerTest
{
Mock<IJN_CountryRepository> countryRepository;
Mock<IUnitOfWork> unitOfWork;
IJN_CountryService countryService;
[SetUp]
public void SetUp()
{
countryRepository = new Mock<IJN_CountryRepository>();
unitOfWork = new Mock<IUnitOfWork>();
countryService = new JN_CountryService(countryRepository.Object, unitOfWork.Object);
}
[Test]
public void ManyDelete()
{
var count = countryService.GetCount();
// Assert
Assert.AreEqual(36, count);
}
}
NUnit测试消息:
为什么呢?为什么不读取记录数量?
答案 0 :(得分:0)
这两行
countryRepository = new Mock<IJN_CountryRepository>();
unitOfWork = new Mock<IUnitOfWork>();
您创建了一个虚假对象,具有无逻辑的对象,也没有任何关于任何数据库的知识。这些是mocks。您需要指导他们做什么才能使其发挥作用,例如:
var sampleCountries = Create36SampleCountries();
countryRepository = new Mock<IJN_CountryRepository>();
countryRepository.Setup(m => m.Countries).Returns(sampleCountries);
为了让您的测试与真实数据库一起使用,您不应该使用模拟而是使用实际的存储库(请注意,这将是集成测试)。