Xunit的App.config

我正在为一些依赖于某些配置设置的辅助类编写一些xUnit测试,这些配置设置通常存储在执行项目的App.config或Web.config中。

配置如下所示:

       

我正在使用GUI运行程序(xunit.gui.clr4.exe)和xUnit控制台运行程序(在Jenkins CI服务器上)运行xUnit 1.9。 目前,我可以通过手动设置xunit.gui.clr4.exe.config和xunit.console.exe.config文件,将这些配置值“注入”到测试环境中; 然而,这很乏味且容易出错。

我也可以在灯具中模拟这些配置设置。 但是在10个不同的文件中使用相同的夹具是相当重复的。

有没有更好的方法来使用xUnit模拟这些配置设置,例如为测试项目提供App.config文件?

如果你的代码假定它们在app.config ,那么xUnit.net支持通过提供一个来连接它们(通常当测试在DLL文件中时,这意味着你得到一个AssemblyName.dll.config文件如果在加载时存在,则转轮加载的项目输出作为设置)。

显然,首先使用DI原则来消除这种依赖关系并没有什么坏处,但是我会说在你真正首先进行测试之前不要乱用代码。

要将其保持干燥,请将app.config放在中央位置并将其添加为链接(通过对话框中“打开”按钮上的箭头)。 (是的,有很多不喜欢的东西 – 只有当你觉得它是最不邪恶的方法时才使用。)


需要注意的一件事是,除非您要求重新加载程序集,否则不会在GUI运行程序中重新加载更改。