しばらくの間、TDD/ SSRを使用しています。BDD に移行しようとしています: context、becauseOf、および Asserts。
Rhino Mocks を使用して分離していますが、現在構文に苦労しています。これが私がこれまでに得たものです(注:ContextSpecificationクラスのソース):
public static class DocumentIdAdapterTests {
public class DocumentIdAdapterContext : ContextSpecification {
protected IDocumentIdAdapter _documentIdAdapter;
protected ISettings _settingsMock;
protected override void Context() {
_settingsMock = MockRepository.GenerateMock<ISettings>();
_documentIdAdapter = new DocumentIdAdapter(_settingsMock);
}
}
[TestClass]
public class when_single_document_url_is_created : DocumentIdAdapterContext {
protected override void BecauseOf() {
_settingsMock.Stub(x => x.DocumentServiceBaseUrl).Return("fooOutput");
_documentIdAdapter.GetDocumentServiceSingleDocumentUrl("fooInput");
}
[TestMethod]
public void the_settings_should_provide_the_document_service_base_url() {
_settingsMock.AssertWasCalled(x => { var ignored = x.DocumentServiceBaseUrl; });
}
}
}
スタブはどこに設定すればよいですか? たとえば、DocumentServiceBaseUrl プロパティが返す値のスタブはどこにあるのでしょうか? 現在、BecauseOf メソッドで実行していますが、Context メソッドで実行する必要がありますか?