我可以使用Spring.NET的基類(a AbstractDependencyInjectionSpringContextTests)來加載應用程序上下文並使用MSTest執行依賴注入嗎?將Spring.NET與Specflow集成
我正在嘗試開發事務性方案,最終會實現現場整合數據庫並回滾。我有一套從Spring擴展的基類,它們在我們的應用程序平臺上執行一些必要的初始化。
我想我可以抽象出來並使用Before和After鉤子,但我想盡可能保持它與我們已有的相似,並繼續使用自動佈線依賴注入。
我可以使用Spring.NET的基類(a AbstractDependencyInjectionSpringContextTests)來加載應用程序上下文並使用MSTest執行依賴注入嗎?將Spring.NET與Specflow集成
我正在嘗試開發事務性方案,最終會實現現場整合數據庫並回滾。我有一套從Spring擴展的基類,它們在我們的應用程序平臺上執行一些必要的初始化。
我想我可以抽象出來並使用Before和After鉤子,但我想盡可能保持它與我們已有的相似,並繼續使用自動佈線依賴注入。
我建議你看看SpecFlow的ContextInjection-feature。這是一個簡單但功能強大的功能,它允許您將對象直接注入到步驟定義類中。
例如,您可以按照您的需要配置事務組件,然後將配置的對象直接注入到步驟中。可以這麼說,創建一個「只用於測試」的版本。
對於我之前使用過的Before/AfterScenario掛鉤的事務,但是如您所說那樣有點隱藏。它雖然工作正常。
希望這有助於
我能夠擴展Spring測試基類和掛鉤測試初始化Specflows /清理前/方案後。至少我的課堂課程將自動連接必要的依賴關係。
https://github.com/techtalk/SpecFlow/wiki/Hooks
[Binding]
public class MySteps : AbstractDependencyInjectionSpringContextTests
{
protected override string[] ConfigLocations
{
get
{
return new string[] {
"assembly://My.Assembly/Path.To.Config/My.config" };
}
}
public IMyService MyService { get; set; }
[Before]
public void BeforeTest()
{
this.TestInitialize();
}
[After]
public void AfterTest()
{
this.TestCleanup();
}
}
ContextInjection需要與空構造函數的類,我不認爲這是非常適合的依賴注入。之前/之後我認爲可能是最好的選擇,但我特別想重新使用Spring.NET基類來進行測試。 – pcw216 2013-05-03 15:01:54