这是我为一个与数据库交互的类编写的集成测试:
[Test]
public void SaveUser()
{
// Arrange
var user = new User();
// Set a bunch of properties of the above User object
// Act
var usersCountPreSave = repository.SearchSubscribersByUsername(user.Username).Count();
repository.Save(user);
var usersCountPostSave = repository.SearchSubscribersByUsername(user.Username).Count();
// Assert
Assert.AreEqual(userCountPreSave + 1, userCountPostSave);
}
Run Code Online (Sandbox Code Playgroud)
在我看来,我无法在Save不涉及函数的情况下测试该函数,SearchSubscriberByUsername以确定用户是否已成功保存.我意识到集成测试并不是单元测试,它应该一次测试一个代码单元.但理想情况下,如果我可以在每个测试中测试我的存储库类中的一个函数,那将会很好,但我不知道如何实现这一点.
我到目前为止编写代码还是有更好的方法可以吗?