Один тест SpecFlow не отображается в тестовом проводнике - PullRequest
0 голосов
/ 23 января 2020

Итак, позвольте мне предварить это словами, что я уверен, что это что-то маленькое, что я забыл, но даже мой менеджер не может понять, почему это происходит. У меня есть один набор тестов, которые я написал, используя SpecFlow. В нашей структуре используется файл Dto, файл Page Object, файл Feature и файл Steps. Моя настройка: VS 2019 Расширение SpecFlow для Visual Studio Deveroom для SpecFlow (Visual Studio 2019)

Пакеты: MongoDB.Bson, .Driver .Driver.Core 2.10.1 Selenium. Firefox .WebDriver 0.26.0 SpecFlow 3.1.78 SpecFlow.Tools.MsBuild.Generation v 3.1.78 xunit.core, .extensibility.core, .extensibility.execution, .runner.visualstudio 2.4.1

Все остальное, Я могу ответить на большинство вопросов, хотя мне может потребоваться время, чтобы найти ответ. Вчера мы обновились до фреймворка .netcore, но это не должно было быть проблемой. Проблема в том, что я добавил 2 группы тестирования, одну для банков и одну для PlanSettings. Я ДУМАЮ, что настроил их одинаково: сначала - созданный файл Dto с использованием Add New Item> C# Code File, файлы записаны одинаково и, вероятно, должны быть объединены, но это ни здесь, ни там. Второй - созданный файл Feature с использованием Add New Item > SpecFlow> SpecFlow Feature File и переименовывается в тестовое имя. Третий - созданный файл Steps с использованием Add New Item> SpecFlow> SpecFlow Step Definition и переименовывается в тестовое имя функции с шагами, добавленными в конец. Четвертый - пишет код объекта и связывает все шаги со всеми. шаг определения пятый - строить и молиться

Банки показывает, в настройках плана нет. Я могу прикрепить код при необходимости, но я даже не уверен, из какого файла построен тест. Будем ждать совета, прежде чем уточнить или продолжить. Предпочел бы не баловаться с расширениями, но я буду, если придется. Мой менеджер никогда не видел этого раньше и посоветовал провести дополнительные исследования.

Что я сделал: Восстановленные файлы функций Закомментировал весь новый код и сохранил только старый известный рабочий (на другом тесте) код. Промойте и повторите код - это происходило до того, как мы перешли на код. net, поэтому мне все равно пришлось переписать многое из того, что я сделал, почему бы и нет? Обменивались расширениями - это ДЕЙСТВИТЕЛЬНО сломало мой предыдущий. net репо

Оба теста были написаны в один и тот же день в течение нескольких часов одним и тем же инженером. ЕДИНСТВЕННОЕ различие заключается в том, что более старшего инженера по автоматизации сейчас нет, поэтому он не помог мне в процессе настройки, но опять же, это не должно иметь значения, поскольку мне также пришлось переписать код банка после миграции, и что один работает нормально.

Заранее спасибо

Уточняющие ответы: Да, я написал два теста - один показывает, один не имеет файлов .cs, имеют одинаковые верхние части, но вот весь файл:

// ------------------------------------------------------------------------------
//  <auto-generated>
//      This code was generated by SpecFlow (http://www.specflow.org/).
//      SpecFlow Version:3.1.0.0
//      SpecFlow Generator Version:3.1.0.0
// 
//      Changes to this file may cause incorrect behavior and will be lost if
//      the code is regenerated.
//  </auto-generated>
// ------------------------------------------------------------------------------
#region Designer generated code
#pragma warning disable
namespace Abarca.Tests.UI.SpecFlow.Features.Clients.ClientBenefitSetup
 {
        using TechTalk.SpecFlow;
        using System;
    using System.Linq;
    [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.1.0.0")]
[System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
public partial class ClientBenefitSetupBenefitPlanSettingsFeature : object, Xunit.IClassFixture<ClientBenefitSetupBenefitPlanSettingsFeature.FixtureData>, System.IDisposable
{

    private static TechTalk.SpecFlow.ITestRunner testRunner;

    private string[] _featureTags = ((string[])(null));

    private Xunit.Abstractions.ITestOutputHelper _testOutputHelper;

#line 1 "ClientBenefitSetupBenefitPlanSettings.feature"
#line hidden

    public ClientBenefitSetupBenefitPlanSettingsFeature(ClientBenefitSetupBenefitPlanSettingsFeature.FixtureData fixtureData, Abarca_Tests_UI_XUnitAssemblyFixture assemblyFixture, Xunit.Abstractions.ITestOutputHelper testOutputHelper)
    {
        this._testOutputHelper = testOutputHelper;
        this.TestInitialize();
    }

    public static void FeatureSetup()
    {
        testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner();
        TechTalk.SpecFlow.FeatureInfo featureInfo = new 
TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), 
"ClientBenefitSetupBenefitPlanSettings", "\tThis feature tests all 
functionalities contained in the Benefit Plan Settings sc" +
                "reen under the LOB Section of the Client Benefit Setup.", ProgrammingLanguage.CSharp, ((string[])(null)));
        testRunner.OnFeatureStart(featureInfo);
    }

    public static void FeatureTearDown()
    {
        testRunner.OnFeatureEnd();
        testRunner = null;
    }

    public virtual void TestInitialize()
    {
    }

    public virtual void TestTearDown()
    {
        testRunner.OnScenarioEnd();
    }

    public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo)
    {
        testRunner.OnScenarioInitialize(scenarioInfo);
        testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs<Xunit.Abstractions.ITestOutputHelper>(_testOutputHelper);
    }

    public virtual void ScenarioStart()
    {
        testRunner.OnScenarioStart();
    }

    public virtual void ScenarioCleanup()
    {
        testRunner.CollectScenarioErrors();
    }

    public virtual void FeatureBackground()
    {
#line 4
 #line hidden
        TechTalk.SpecFlow.Table table169 = new TechTalk.SpecFlow.Table(new string[] {
                    "attribute",
                    "value"});
        table169.AddRow(new string[] {
                    "User",
                    "Automation"});
        table169.AddRow(new string[] {
                    "Password",
                    "@Abca123"});
        table169.AddRow(new string[] {
                    "UserType",
                    "Employee"});
#line 5
 testRunner.Given("I have successfully logged in to Darwin", ((string)(null)), table169, "Given ");
#line hidden
#line 10
 testRunner.And("I access the Client Benefit Setup option in the menu", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And ");
#line hidden
        TechTalk.SpecFlow.Table table170 = new TechTalk.SpecFlow.Table(new string[] {
                    "attribute",
                    "value"});
        table170.AddRow(new string[] {
                    "SearchId",
                    "abca"});
#line 11
 testRunner.And("I filter by the ID column within the Client Benefit Setup List screen", ((string)(null)), table170, "And ");
#line hidden
#line 14
 testRunner.And("I press the Edit link for the filtered record within the Client Benefit Setup scr" +
                "een", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And ");
#line hidden
#line 15
 testRunner.And("I press the Line of Business link within the Clients Edit screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And ");
#line hidden
        TechTalk.SpecFlow.Table table171 = new TechTalk.SpecFlow.Table(new string[] {
                    "attribute",
                    "value"});
        table171.AddRow(new string[] {
                    "SearchId",
                    "020"});
#line 16
 testRunner.And("I filter by the ID column within the Line Of Business List screen", ((string)(null)), table171, "And ");
#line hidden
#line 19
 testRunner.And("I press the Edit link for the filtered record within the Line of Business List sc" +
                "reen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And ");
#line hidden
#line 20
 testRunner.And("I press the Benefit Plans link within the Line of Business Edit screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And ");
#line hidden
        TechTalk.SpecFlow.Table table172 = new TechTalk.SpecFlow.Table(new string[] {
                    "attribute",
                    "value"});
        table172.AddRow(new string[] {
                    "SearchId",
                    "020"});
#line 21
 testRunner.And("I filter by the ID column within the Benefit Plans List screen", ((string)(null)), table172, "And ");
#line hidden
#line 24
 testRunner.And("I press the Edit link for the filtered record within the Benefit Plans List scree" +
                "n", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And ");
#line hidden
#line 25
 testRunner.And("I press the Benefit Plan Settings link within the Benefit Plans screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And ");
#line hidden
        TechTalk.SpecFlow.Table table173 = new TechTalk.SpecFlow.Table(new string[] {
                    "attribute",
                    "value"});
        table173.AddRow(new string[] {
                    "SearchId",
                    "020"});
#line 26
 testRunner.And("I filter by the Name column within the Benefit Plan Settings screen", ((string)(null)), table173, "And ");
#line hidden
#line 29
 testRunner.And("I press the Edit link for the filtered record within the Benefit Plans Settings L" +
                "ist screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And ");
#line hidden
    }

    void System.IDisposable.Dispose()
    {
        this.TestTearDown();
    }

    [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.1.0.0")]
    [System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
    public class FixtureData : System.IDisposable
    {

        public FixtureData()
        {
            ClientBenefitSetupBenefitPlanSettingsFeature.FeatureSetup();
        }

        void System.IDisposable.Dispose()
        {
            ClientBenefitSetupBenefitPlanSettingsFeature.FeatureTearDown();
        }
    }
}
}
#pragma warning restore
#endregion

(прошу прощения за форматирование)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...