是否可以從SpecFlow(1.7.1)步驟綁定類中訪問MSTest TestContext? 在功能文件的生成代碼中,有一個FeatureSetup方法,它將TestContext作爲參數,但顯然不會對它做任何事情。在SpecFlow中訪問TestContext步驟綁定類
3
A
回答
3
Gáspár Nagy回答了SpecFlow谷歌組:https://groups.google.com/group/specflow/browse_thread/thread/5b038e3e283fdbfe#
默認情況下不會。我們有一個獨立於測試提供程序的ScenarioContext.Current,可用於類似的目的。
0
除了瓦倫丁的答案。這是測試生成器的an example,它將添加到測試環境中。它來自同一個Google小組。
GáspárNagy表示可能會將其添加到提供specflow的提供商。
所以要回答OP的問題,是的,這是可能的。
5
我找到了一種方法將參數傳遞給TestContext,然後從SpecFlow訪問它們。
通過添加具有TestContext屬性並將其AssemblyInit()方法標記爲[AssemblyInitialize]的[TestClass],以便在runnig之前儘早初始化測試,並且MSTest將能夠填充TestContext。
{
[TestClass]
public class InitializeTestContext
{
public static TestContext Context { get; private set; }
[AssemblyInitialize]
public static void AssemblyInit(TestContext context)
{
Context = context;
}
}
}
然後可以從我的BaseSteps類訪問:
{
public abstract class BaseSteps : TechTalk.SpecFlow.Steps
{
public string GetTestEnvironment()
{
TestContext testContext = InitializeTestContext.Context;
string testEnvironment = testContext.Properties["Environment"].ToString();
return testEnvironment;
}
}
}
相關問題
- 1. 在specflow中重複步驟
- 2. Specflow:對於步驟
- 3. Specflow步驟定義類在不同的項目中
- 4. Specflow忽略在F#步驟彙編中的步驟
- 5. 導航到Specflow步驟從步驟定義
- 6. SpecFlow的功能範圍步驟定義?
- 7. specflow的動態步驟定義匹配
- 8. 默認值Specflow步驟定義
- 9. 查找孤兒SpecFlow步驟
- 10. Specflow並生成步驟
- 11. Specflow中的繼承測試步驟導致模糊步驟
- 12. Specflow用的await步驟異步API
- 13. Specflow中的表與綁定到步驟定義或功能文件?
- 14. Specflow-run步驟多次 - 只有當步驟
- 15. 從SpecFlow中的場景中獲取當前步驟定義
- 16. 如何識別Specflow的後臺步驟?
- 17. 單獨彙編中的specflow步驟定義
- 18. 如何驗證是否所有SpecFlow場景步驟都綁定到方法
- 19. Specflow,Selenium-在不同的步驟定義或類別之間共享數據
- 20. 在SpecFlow中,如何在步驟/功能之間共享數據?
- 21. 在SpecFlow步驟文件中使用依賴注入
- 22. 導出所有specflow步驟定義,爲測試製作教程
- 23. Specflow沒有生成正確的步驟定義
- 24. Specflow,沒有看到步驟定義的建議代碼
- 25. SpecFlow可重複使用的步驟定義
- 26. Specflow步驟定義失敗因不能設置空隱式類型變量
- 27. 如何在SpecFlow方案的步驟定義中生成列表<T>?
- 28. specflow: - 「找到的一步曖昧的步驟定義」時,1級比其他
- 29. 在步驟定義類中包含非步驟方法是否可以接受?
- 30. 重新生成specflow中場景的步驟
好傢伙!我一直試圖弄清楚這麼久......這樣一個簡單而又好的解決方案!非常感謝。 (如果我可以的話:+25)。也是在原來的問題哈哈6年後。 – JCisar
我爲此創建了一個nuget包,如果你想查看它: https://www.nuget.org/packages/SpecFlow.MSTest.TestContext – JCisar