Где я могу найти TestContext.AddResultFile ()? - PullRequest
1 голос
/ 03 мая 2019

У меня проблемы со ссылкой на документированный метод AddResultFile() в классе TestContext, предположительно найденный в Microsoft.VisualStudio.TestTools.UnitTesting package / namespace.

Это мой список пакетов:

<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.0.1" />
<PackageReference Include="Selenium.Support" Version="3.141.0" />
<PackageReference Include="Selenium.WebDriver" Version="3.141.0" />
<PackageReference Include="Selenium.WebDriver.ChromeDriver" Version="2.46.0" />
<PackageReference Include="specflow" Version="3.0.199" />
<PackageReference Include="SpecFlow.Tools.MsBuild.Generation" Version="3.0.199" />
<PackageReference Include="SpecFlow.MsTest" Version="3.0.199" />
<PackageReference Include="MSTest.TestFramework" Version="2.0.0-beta4" />
<PackageReference Include="MSTest.TestAdapter" Version="2.0.0-beta4" />

Это (часть) моего теста (определение шага - это SpecFlow) класса:

using System;
using System.IO;
using System.Text;
using OpenQA.Selenium;
using OpenQA.Selenium.Support.UI;
using TechTalk.SpecFlow;
using XunitTestLib.Drivers;
using XunitTestLib.Helpers;

using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace XunitTestLib.StepDefinitions
{
    [Binding]
    public class BrowserSteps : BrowserDriver
    {
        public IWebElement CurrentElement { get; set; }
        public TestContext TestContext { get; set; }

        public BrowserSteps(TestContext tcontext)
        {
            this.TestContext = tcontext;
        }

        [Given(@"I navigate to (.*)")]
        [When(@"I navigate to (.*)")]
        [Then(@"I navigate to (.*)")]
        public void INavigateTo_(string url)
        {
            Browser.Navigate().GoToUrl(url);
        }

        // ***Numerous methods for specflow/selenium-based testing***

        [Given(@"I take a screenshot")]
        [When(@"I take a screenshot")]
        [Then(@"I take a screenshot")]
        public void ITakeAScreenshot()
        {
            var sep = Path.DirectorySeparatorChar;

            var time = DateTime.Now.ToString("yyyy-MM-dd_HH_mm_SS_") + DateTime.Now.Ticks;

            var path = $@"{Directory.GetCurrentDirectory()}{sep}{time}.png";

            Browser
                .GetScreenshot()
                .SaveAsFile(path);

            TestContext.AddResultFile(path); // THIS METHOD NOT FOUND
        }
    }
}

Как мне найти и использовать метод AddResultFile()?Я полагаю, мне не хватает ссылки ...?

1 Ответ

1 голос
/ 03 мая 2019

Произошла ошибка в пакете MSTest.TestFramework, о котором сообщалось здесь: https://github.com/Microsoft/testfx/issues/394

Это исправлено 4 дня назад с сегодняшнего дня в запросе на извлечение:

https://github.com/Microsoft/testfx/pull/609

Но я не вижу никаких обновлений в версии nuget за последние 23 дня для версии 2.0.0-beta4, и сейчас нет никакой версии после этого.https://www.nuget.org/packages/MSTest.TestFramework/

Промежуточное исправление будет использовать самые последние биты отсюда , пока не появится новое обновление с этим исправлением :

https://dotnet.myget.org/F/mstestv2/api/v3/index.json

В частности, вам следует обновить пакет nuget вашего адаптера и фреймворка до следующих версий: https://dotnet.myget.org/feed/mstestv2/package/nuget/MSTest.TestAdapter/2.0.0-build-20190430-01 https://dotnet.myget.org/feed/mstestv2/package/nuget/MSTest.TestFramework/2.0.0-build-20190430-01

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