PlatformNotSupportedException: у следующих параметров конструктора не было соответствующих данных фикстуры - PullRequest
0 голосов
/ 18 декабря 2018

Я написал несколько тестов для dotnet core 2. Эти тесты работают на некоторых браузерах Selenium.Я разработал первый локальный тест (с использованием dotnet core 2.0 и xunit), и он работает как чудо.

Затем я переместил проект в конвейер DevOps Azure и получил эту ошибку:

System.PlatformNotSupportedException : Операция не поддерживается на этой платформе.

Следующие параметры конструктора не имеют соответствующих данных фикстуры

Это похоже на локальныйразработки (простой редактор кода VS), кто-то автоматически вводит Fixture в конструкторы, подобные этому:

public AConstructor(TestFixture tf)
{
    this.tf = tf;
}

, поэтому я примерно переписываю его как:

public AConstructor(TestFixture tf)
{
    this.tf = new TestFixture();
}

, но проблема все еще существует иЯ понятия не имею, в чем проблема.В локальной разработке мы настроили Selenium Grid с Docker, используя ту же версию реальной сетки.В конвейере Azure DevOps мы повторно использовали образец команды, используемой в локальной среде.

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 26 декабря 2018

Дайте параметру значение по умолчанию, чтобы исправить это.

public AConstructor(TestFixture tf = null)
{
    this.tf = tf;
}
0 голосов
/ 20 декабря 2018

Когда я делаю это, я обычно структурирую это так:

public class TestClass
{
    protected TestFixture testFixture { get; set; }

    public TestClass(TestFixture testFixture)
    {
        this.testFixture = testFixture;
    }
}

Это позволяет вам создать локальный экземпляр для использования с вашим кодом.

Попробуйте это и дайте мне знать, еслиэто работает для вас.

...