- Home /
When creating unity playmode tests in a dll they dont't show up in the test runner
I included a reference to the unityengine.testrunner and the nunit framework in my dll and tried to create unity tests in there. We have so much code that we usually work in dlls and it would be great to be able to work in dlls rather than only in unity scripts so that we can detect breaks in compiling earlier. But the unity tests dont show up in the test runner.
A workaround would be to create wrappers for each of the test classes in scripts.
Hi @fjham$$anonymous$$g_CleVR what unity version do you run with?
Answer by fjhamming_CleVR · Jan 15, 2018 at 07:59 AM
@HaraldNielsen I used Unity 5.6.2 for this. Haven't tested if changing to unity 2017 has solved the issue.
For now the workaround with test class wrappers wasn't a big issue for us since there arent too many of those anyway.
Answer by HaraldNielsen · Jan 15, 2018 at 09:22 AM
Hi @fjhamming_CleVR - So for 5.6 we had some issues with implementing the automatic scanning of scriptassemblies compared to how we do it in later versions. Later versions should load precompiled test assemblies just fine. I added somesort of support for this that will be in patch 5.6.5p1, its the upcomming patch.
The solution in the patch is to have a testAssemblies json file in your asset root folder: Assets/testAssemblies.json
the structure is like this:
{
'editModeAssemblies': [],
'playModeAssemblies': []
}
So I am on 2017.3 Linux editor and I'm having issues with the assembly definitions. I defined two test assemblies. They show up in the test runner, I can see them present, but when I try to run them, the test runner just skips them. $$anonymous$$aybe this is a separate issue. Should I create a new question?
Your answer
Follow this Question
Related Questions
Unity TestTools and External DLL conflict? 1 Answer
Unit Test EditorTestResults 1 Answer
Testing editor scripting 1 Answer
Testing Network Code in Unity 4 Answers
TeamCity XML Report Processing can not parse Unity 5.6 test results 3 Answers