Я создал следующую структуру:
├── Assets
├── Scenes
├── Scripts
│ └── MyExample.cs
├── Tests
│ ├── MyExampleTest.cs
│ └── Tests.asmdef
Теперь, когда я нажимаю кнопку "Запустить все" в окне "Тест-Runner" в Unity, у меня есть следующая ошибка:
The type or namespace name `MyExample' could not be found. Are you missing an assembly reference?
В Visual Studio у меня есть два проекта:
-
Assembly-CSharp (содержащий src)
-
Тесты (содержащие тесты)
Я добавил Assembly-CSharp в качестве ссылки во втором проекте. Visual Studio может создавать решение без ошибок.
Кто-нибудь знает, как правильно настроить регрессию UnitTest для проекта Unity?
Это Tests.asmdef
{
"name": "Tests",
"optionalUnityReferences": [
"TestAssemblies"
]
}
MyExampleTest.cs
using UnityEngine;
using UnityEngine.TestTools;
using NUnit.Framework;
using System.Collections;
using abc;
public class MyExampleTest{
[Test]
public void NewTestScriptSimplePasses() {
// Use the Assert class to test conditions.
}
[UnityTest]
public IEnumerator NewTestScriptWithEnumeratorPasses() {
abc.Example m;
Assert.That(false);
yield return null;
}
}
MyExample.cs
namespace abc
{
public class Example
{
}
}