1
我像一個簡單的方法:起訂量設定單元測試
public class MyService : IMyService
{
public int Add(int x, int y)
{
return x + y;
}
}
public interface IMyService
{
int Add(int x, int y);
}
和我寫了一個單元測試的是上述方法:
public void PassingTest()
{
var mock = new Mock<IMyService>();
mock.Setup(x => x.Add(It.IsAny<int>(), It.IsAny<int>())).Returns<int, int>((x, y) => { return x + y; });
var svc = mock.Object;
var result = svc.Add(3, 3);
var result2 = svc.Add(2, 5);
result.Should().Be(6);
result2.Should().Be(7);
}
這段代碼是好的?我爲什麼要寫Returns
這個和整個方法幾乎相同的語句?
如果'IMyService'被用作依賴於你想測試的另一個類的話,你只會這樣做。如果'IMyService'是被測試的系統,那麼你不會因爲你不想模擬你正在測試的系統。您使用目標類的實際實例 – Nkosi