我有一個域名服務如何正確地單元測試域服務?
public class BlobService{
private FooRepository repo;
public BlobService(FooRepository repo){
this.repo = repo;
}
public void DoSomething(int id1,int id2){
var foo1 = repo.Get(id1);
var foo2 = repo.Get(id2);
var valueSomething = foo1.GetValueSomething();
foo2.SetValueSomething(valueSomething);
repo.Save(foo2);
DomainEvent.Raise(new ValueSomethingChanged(foo2));
}
}
這裏,方法
- repo.Get,repo.Save通過集成測試(因爲後面的RDBMS)
- GetValueSomething,SetValueSomething測試並通過單元測試提高
那麼我的單元測試BlobService會是什麼樣子?
- 嘲笑回購,foo1和foo2並檢查好方法被稱爲。 DomainEvent是靜態的,但真的很簡單
- 做的是集成測試:發送真正的repo實現,請求它並檢查foo2值。
- 別的東西
?
嘿雷米。如果我的答案是令人滿意的,你能否贊成並將其標記爲答案?謝謝! –