0

如何从 Rider-EAP 运行统一单元测试?它在 Unity 中运行良好。

当我尝试运行测试时出现此错误:

Error:null: /Users/xxx/NavigationTest.sln :  error :
Target named 'Assembly-CSharp-Editor' not found in the project.

但我可以在 Rider-EAP 中构建解决方案。

来自 Unity 的 sln 文件:

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2008

Project("{6394337E-A760-107E-A1B5-972965181127}") = "NavigationTest", "Assembly-CSharp.csproj", "{09AAC607-4433-B8FC-AE7F-1AD11A119684}"
EndProject
Project("{6394337E-A760-107E-A1B5-972965181127}") = "NavigationTest", "Assembly-CSharp-Editor.csproj", "{E38ED05D-5652-068C-C70B-013EED402A29}"
EndProject
Global
    GlobalSection(SolutionConfigurationPlatforms) = preSolution
        Debug|Any CPU = Debug|Any CPU
        Release|Any CPU = Release|Any CPU
    EndGlobalSection
    GlobalSection(ProjectConfigurationPlatforms) = postSolution
        {09AAC607-4433-B8FC-AE7F-1AD11A119684}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {09AAC607-4433-B8FC-AE7F-1AD11A119684}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {09AAC607-4433-B8FC-AE7F-1AD11A119684}.Release|Any CPU.ActiveCfg = Release|Any CPU
        {09AAC607-4433-B8FC-AE7F-1AD11A119684}.Release|Any CPU.Build.0 = Release|Any CPU
        {E38ED05D-5652-068C-C70B-013EED402A29}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {E38ED05D-5652-068C-C70B-013EED402A29}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {E38ED05D-5652-068C-C70B-013EED402A29}.Release|Any CPU.ActiveCfg = Release|Any CPU
        {E38ED05D-5652-068C-C70B-013EED402A29}.Release|Any CPU.Build.0 = Release|Any CPU
    EndGlobalSection
    GlobalSection(SolutionProperties) = preSolution
        HideSolutionNode = FALSE
    EndGlobalSection
    GlobalSection(MonoDevelopProperties) = preSolution
        StartupItem = Assembly-CSharp.csproj
    EndGlobalSection
EndGlobal
4

1 回答 1

1

右键单击您的解决方案并单击“跳转到源”,或双击错误以显示相同的内容。你会得到这样的东西:

# Visual Studio 2010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PROJECTNAME", "Assembly-CSharp.csproj", "{F9618595-3187-105D-65DC-297934AE12BE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PROJECTNAME", "Assembly-CSharp-Editor-firstpass.csproj", "{E7257D3B-0894-2E39-2141-C8FE4E9BCA6A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test", "Test\Test.csproj", "{C481669B-1E22-4D7C-8B33-7AB3A9D464FE}"
EndProject

该问题似乎与 PROJECTNAME 不等于项目名称有关。重命名两个 PROJECTNAME 条目以匹配他们的项目:

# Visual Studio 2010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp", "Assembly-CSharp.csproj", "{F9618595-3187-105D-65DC-297934AE12BE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp-Editor-firstpass", "Assembly-CSharp-Editor-firstpass.csproj", "{E7257D3B-0894-2E39-2141-C8FE4E9BCA6A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test", "Test\Test.csproj", "{C481669B-1E22-4D7C-8B33-7AB3A9D464FE}"
EndProject

然后你也许可以运行你的测试。

这个问题在 GitHub 上讨论并由Jetbrains 跟踪

在应用此解决方法后,我确实遇到了这个问题,但正如问题所暗示的那样,第二次运行测试工作正常。

于 2016-12-21T19:27:33.670 回答