1

钻机:win7 64bit,vs2010,mvc v2,TestDriven.Net 3.0,Reshaper 5.0,MSpec 0.3

我最近开始了一个新项目,想使用 mspec。

(1) 将 Machine.Specifications.ReSharperRunner.5.0.dll 和 Machine.Specifications.dll 复制到 JetBrains\ReSharper\5.0\Bin\Plugins\Machine.Specifications (2) 将 Machine.Specifications.TDNetRunner.dll 复制到 TestDriven.NET 3\机器规格

当我尝试运行测试时,我收到此错误:System.IO.FileNotFoundException:无法加载文件或程序集'Machine.Specifications

我不知道这个错误来自哪里。

vs2010 menu -> ReSharper ->Plugins 显示了 MSpec 插件。vs2010 菜单 -> ReSharper -> 选项 -> 工具 -> 单元测试也显示了 MSpec 单元测试提供程序,但是当我像 MSTest 和 nUnit 一样单击它时,它没有显示任何详细信息。

我发现了这个: http: //marcinobel.com/index.php/mspec-bdd-installer/这不起作用。我也试过这个:http ://eduncan911.com/blog/registering-mspec-runners-for-testdriven-net-on-windows-x64.aspx这也没有用。现在我担心我搞砸了我的注册表。

有什么指导吗?

完整错误:

测试“F:Tests.OTBRadio.Tasks.AlbumTasksSpecs.when_the_album_tasks_are_asked_to_get_all.context”失败:无法加载文件或程序集“Machine.Specifications,版本=0.3.0.0,文化=中性,PublicKeyToken=null”或其依赖项之一。该系统找不到指定的文件。System.IO.FileNotFoundException:无法加载文件或程序集“Machine.Specifications,版本=0.3.0.0,文化=中性,PublicKeyToken=null”或其依赖项之一。该系统找不到指定的文件。文件名:TestDriven.TestRunner.AdaptorTestRunner 中 Machine.Specifications.TDNetRunner.SpecificationRunner.RunMember(ITestListener testListener, Assembly assembly, MemberInfo member) 中的“Machine.Specifications, Version=0.3.0.0, Culture=neutral, PublicKeyToken=null”。

4

3 回答 3

3

您不需要复制Machine.Specifications.TDNetRunner.dll任何地方,只需将其放在项目toolslib目录中,即您保存项目依赖项的位置。包含 MSpec 测试的项目Machine.Specifications.dll将从该目录中引用。TestDriven.Net >=2.24 只要Machine.Specifications.dll.tdnet位于同一目录下,就可以获取 TD.Net runner。tools可以在此处找到我喜欢如何组织目录的示例。

您的 ReSharper 5.0 插件目录对我来说看起来不错。但是,我有用户报告说,当您使用资源管理器解压缩 MSpec zip 文件(您可能从http://teamcity.codebetter.com下载)时,Windows 会将提取的 DLL 标记为从 Internet 下载。

<ReSharper 5.0>\bin\plugins您能否通过打开每个 DLL 的属性并单击第一个属性页上的“取消阻止”来确保 Windows 不会阻止这些 DLL 。如果未显示“取消阻止”按钮,则您的文件没问题。在这种情况下,请在此处发布,我们将看看您的 MSpec 插件如何工作。

于 2010-05-06T18:33:20.153 回答
0

更改任何 dll 后,您应该清理项目 - 这样您就不会在新项目中出现任何错误。

于 2010-05-18T13:57:23.107 回答
0

我也遇到了同样的问题,我通过从 Github (https://github.com/machine/machine.specifications) 克隆 MSpec 的副本来修复它。

然后在“Source”文件夹中,我运行了一个批处理文件(在我的例子中是 build-4.0-debug.cmd),它在“xxx\Source\Build\Debug”中创建了“Machine.Specifications.dll”。

我删除了对“旧”dll 的引用,清理了我的项目,用我在上一步中获得的新 dll 复制了旧 dll,重新构建了这个技巧。

于 2010-12-02T08:37:53.130 回答