0

我是实施 SpecRun/SpecFlow 的新手。我真的在为运行设置、配置文件和目录路径苦苦挣扎。所有这一切的最终结果是在 Azure 环境中运行我们的 Web 测试,希望将结果发布到 TFS。但我不明白为什么 SpecRun 会做它正在做的事情。我很难弄清楚如何用这个词来表达。

文档指出所有文件都与 baseFolder 相关。它声明 baseFolder 应该是 bin 文件夹(在我的情况下是 bin\debug。)所有输出都将与该文件夹相关。这是我的第一个压力来源。就个人而言,我不希望任何改变 bin 文件夹的东西。所有那种报告/日志的东西都应该写在别处,不在 bin 文件夹附近。

我的应用程序对其基本文件夹(项目的当前文件夹)敏感。据了解,当前文件夹是开始处理的位置(cd \project\process; exec 进程。)它是应用程序获取其环境设置的那个文件夹。但处理炸弹时出现以下错误:

Could not find a part of the path 'C:\classes\defaulttestdata\default_data_values.json'

是什么将当前目录从项目更改为 c:\ ?为什么要这样做。我发现自己必须重新设计传递参数的方式,以及我可以在应用程序内部做出哪些假设。

当使用 .runsetting 使用 vstest.console 开始测试时,它会变得更加复杂,这反过来又引用了一个配置文件。指定名称 .srprofile,它位于项目文件夹中。但是,处理炸弹因为找不到它:

> vstest.console bin\debug\rti.accidents.web.webtesting.dll --Settings:console.runsettings

Could not find file 'C:\Code\Branches\NIEDO2\V4\Accidents\RTI.Accidents.Web.WebTesting\bin\debug\specrun.srprofile'

它是如何知道从哪里获取 bin\debug 文件夹以进行查看的?配置文件说 specrun.srprofile,而不是 bin\debug\specrun.profile?

我不知道输出和日志的去向。经过我所有的尝试,我找到了 c:\TestResults、c:\TestResults 和 c:\bin\debug\TestResults。有时有输出;有时不是。

在 Visual Studio 中,一切都表现得非常好。它运行所有 hunky dory,将输出放在我想要的相对于项目(而不是 bin)的位置。

有没有人成功使用 vstest.console 愿意分享他们的 .runsettings 和 .srprofile 的副本,这样我就可以看到这一切是如何结合在一起的。有没有其他人提出“你没有写回应用程序 bin 文件夹”的论点。在某些情况下,受保护的空间并且您不希望报告/日志占用 ac:\ 驱动器。

抱歉,只是觉得自己像个白痴有点沮丧。

4

0 回答 0