C# 如何模拟可跟踪存储库?
我第一次做单元测试。我想模拟一个可跟踪的存储库。它与模拟普通存储库不同吗?我对此表示怀疑,因为我正在创建一个简单的存储库,而我要测试的使用可跟踪存储库的方法不接受它。你能提供一个简单的例子来模拟一个可跟踪的存储库吗。 我使用DI传递存储库,如下所示:C# 如何模拟可跟踪存储库?,c#,unit-testing,mocking,C#,Unit Testing,Mocking,我第一次做单元测试。我想模拟一个可跟踪的存储库。它与模拟普通存储库不同吗?我对此表示怀疑,因为我正在创建一个简单的存储库,而我要测试的使用可跟踪存储库的方法不接受它。你能提供一个简单的例子来模拟一个可跟踪的存储库吗。 我使用DI传递存储库,如下所示: public CountryService(ITrackableRepository<Country> repository) : base(repository) { } 提前谢谢 [Test] public
public CountryService(ITrackableRepository<Country> repository) : base(repository)
{
}
提前谢谢
[Test]
public void YourTest()
{
//Arrange
var mockRepo = new Mock<ITrackableRepository<Country>>();
var service = new CountryService(mockRepo.Object);
var countryArray = new Country[]{};
//Act
service.UpdateCountry(countryArray);
//Assert
mockRepo.Verify(repo => repo.Insert(It.IsAny<Country>()), Time.Once);
}
希望它能给你一些见解什么是可跟踪存储库?你是如何设置它的,但它不起作用?向我们展示你的代码和你想测试的内容
[Test]
public void YourTest()
{
//Arrange
var mockRepo = new Mock<ITrackableRepository<Country>>();
var service = new CountryService(mockRepo.Object);
var countryArray = new Country[]{};
//Act
service.UpdateCountry(countryArray);
//Assert
mockRepo.Verify(repo => repo.Insert(It.IsAny<Country>()), Time.Once);
}
mockRepo.Setup(repo => repo.PropertyName).Returns(//return something)