Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Unity测试设置强制从项目中排除我想要测试的所有代码_C#_Visual Studio_Unit Testing_Unity3d - Fatal编程技术网

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

C# Unity测试设置强制从项目中排除我想要测试的所有代码,c#,visual-studio,unit-testing,unity3d,C#,Visual Studio,Unit Testing,Unity3d,我正在尝试将单元测试添加到Unity项目中。我正在使用Unity TestRunner窗口,添加编辑模式测试程序集文件夹,并向其中添加测试C#脚本。文件生成得很好 但是,我实际上无法测试主项目的任何代码,因为测试项目看不到它。Unity正在设置的测试.csproj不包括主目录树中的任何.cs文件;出于某种原因,它只包含一个.txt文件。我可以通过将XML从主项目的.csproj文件复制到Tests.csproj,暂时改变这种情况,但Unity会重写Tests.csproj,以便在下次关注时将其恢

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

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

Unity文档没有暗示需要解决类似的问题。MSVS文档说我需要添加对项目的引用,但是Unity下的
Tests>References
上下文菜单中没有它提到的
addreference
选项


我做错了什么?

我相信你必须遵循他们最近推出的模式

例如:

  • 在资源中,创建一个图形文件夹
  • 添加一些类到它
  • 添加程序集定义

  • 在资源中,使用测试运行程序窗口创建一个TestsEditMode文件夹

  • 添加一些测试到它仍然与测试运行程序窗口
  • 添加部件定义,然后在其中引用图形
您将得到以下结果:

和往常一样,这是令人困惑的

基本上,这就是选择加入,这最终是相当好的