Unity测试设置强制从项目中排除我要测试的所有代码

时间:2018-06-25 02:49:56

标签: c# visual-studio unit-testing unity3d

我正在尝试将单元测试添加到Unity项目中。我正在使用Unity TestRunner窗口,添加“编辑模式测试程序集”文件夹,并向其中添加测试C#脚本。该文件生成正常。

但是,我实际上无法测试任何主项目的代码,因为测试项目看不到它。 Unity设置的Tests.csproj不包含主目录树中的任何.cs个文件;由于某种原因,它仅包含一个.txt文件。我可以通过将XML从主项目的.csproj文件复制到Tests.csproj来暂时改变这种情况,但是Unity重写了Tests.csproj以使其在下次注意时恢复原状。

Unity文档没有暗示需要解决的问题。 MSVS文档说我需要添加对项目的引用,但是Unity下的Tests > References上下文菜单没有它所谈论的Add Reference选项。

我在做什么错了?

1 个答案:

答案 0 :(得分:2)

我相信您必须遵循他们最近推出的assembly definition范例。

示例:

  • 在“资产”中,创建一个图形文件夹
  • 向其中添加一些类
  • 添加一个装配体定义

  • 在“资产”中,使用“测试运行器”窗口创建一个 TestsEditMode 文件夹

  • 仍然通过“测试运行器”窗口向其中添加一些测试
  • 添加装配体定义,然后在其中引用图形

您最终得到以下结果:

enter image description here

The documentation像往常一样令人困惑...

基本上,这是选择加入的,最终还是不错的。