Rider NUnit Test проблема: программа не содержит основной - PullRequest
0 голосов
/ 30 сентября 2019

Я не могу начать тестирование NUnit на Rider (JetBrains). У меня есть проект консольного приложения с именем ISDI, и я пытаюсь протестировать его с помощью проекта тестирования NUnit с именем ISDITest в том же решении.

Это мой код:

using System;
using ISDI; 
using NUnit.Framework;

namespace ISDITest {
    [TestFixture]
    public class TestNome
    {
        [Test]
        public void TestRoom()
        {
            IRoom r = new Room(0);
            IEntity p = new Player();
            r.InsertEntity(p);
            Assert.Equals(r.GetEntities().Count, 1);
            Assert.True(r.GetEntities().Contains(p));
        }
    }
 }

При попытке запустить тест я получаю ошибку сборки:

Программа не содержит статической 'Main'метод, подходящий для точки входа

Я думаю, что для методов тестирования в классе тестирования не потребуется Main, и я не знаю, как решить эту проблему, поскольку я уже указал, что это проект тестирования, когдаЯ создал это. Извините, если это глупый вопрос, но я только начинаю с C # и тестирую.

Ответы [ 2 ]

1 голос
/ 30 сентября 2019

При запуске программы вам нужна точка входа - место для запуска кода. Обычно для этого используется Main, но если у вас есть NUnit, вы можете использовать [Test] в качестве точки входа.

Если вы хотите запустить тесты, вам нужно использовать [Test] помечать как точку входа для программы. Для этого вам не нужен метод Main.

Я рекомендую прочитать документацию Rider / Unit Testing для получения дополнительной информации о том, как запустить код [Test] без реализации метода Main.

https://www.jetbrains.com/help/rider/Unit_Testing__Index.html

0 голосов
/ 30 сентября 2019

Решил это, поместив пустую Main в проект, который я хотел протестировать. Тем не менее, это не имеет никакого смысла для меня.

...