C# NUnit сообщает о странной ошибке: «Не найдено подходящего конструктора» - PullRequest
0 голосов
/ 22 января 2020

Я использую VS2019 и создал тестовый проект NUnit с базовым шаблоном. net, затем я добавил этот код:

using NUnit.Framework;

namespace xxx
{
    class Immutable
    {
        public Immutable(string _cur, string _addr)
        {
            Currency = _cur;
            Address = _addr;
        }

        public string Currency { get; }
        public string Address { get; }

        [Test]
        public static void Test() // reports this line has problem?
        {
            var m = new Immutable("usd", "us");
            string s = m.Currency;
            Assert.AreEqual("usd", s);
        }
    }
}

Сборка в порядке, но когда я запускаю его, тестовый обозреватель сообщает об этом :

Test
Source: xxx.cs line 17
Duration: < 1 ms

Message: 
    OneTimeSetUp: No suitable constructor was found

Я не совсем понимаю, в чем проблема, как ее исправить?

1 Ответ

2 голосов
/ 22 января 2020

Если ваш тестовый класс имеет параметризованный конструктор, вам необходим атрибут TestFixture с параметрами для его построения.

Попробуйте это:

[TestFixuture("usd", "us")]
class Immutable
{
    ...
}

См. Документ

И настоятельно рекомендуем вам выделить тестовый класс для тестирования.

[TestFixture]
public class ImmutableTest
{
    [Test]
    public void Test()
    {
        var m = new Immutable("usd", "us");
        string s = m.Currency;
        Assert.AreEqual("usd", s);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...