RSpec有一个漂亮的期望/变化结构,如下所示:
expect{sut.SomeMethod}.to change{repo.count}.by(1)
https://relishapp.com/rspec/rspec-expectations/v/2-0/docs/matchers/expect-change
NUnit也有这样的东西吗?类似的东西:
Expect(() => sut.SomeMethod()).Changes<int>(() => repo.Count()).By(1);
现在,我实现了这样的测试:
int prevCount = repo.Count();
sut.SomeMethod();
int newCount = repo.Count();
Assert.That(newCount, Is.EqualTo(prevCount + 1);
答案 0 :(得分:0)
没有。基本上,副作用测试总是需要多个语句。如果SomeMethod
是一个返回计数的函数,那么你可以在一个语句中测试它。