我使用 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 属性将返回的值?我现在在因为我的方法中做它,但我应该在我的 Context 方法中做它吗?