gpt4 book ai didi

angular - 在 Visual Studio 2015 中使用 Protractor 测试 ASP.NET Core 应用程序

转载 作者:行者123 更新时间:2023-12-05 08:09:06 24 4
gpt4 key购买 nike

我有一个基于核心模板包中的 angular2 模板的 ASP.NET Core 项目。我添加了第二个 project with xunit and protractor针对我的主要应用程序运行单元测试。

两者都很好地单独工作,只有一件小事我想念:

当我想运行 Protractor 测试时,我需要手动将主项目托管在某个地方。如果我不手动托管主项目,它就不会运行,所以所有测试都会失败,因为我的页面无法访问。

我可能需要以某种方式从测试中启动主应用程序/项目,但我不知道如何启动。 Protractor 的所有示例都针对一些已经运行的主页运行,没有一个针对其他项目运行。

如何从我的测试项目启动主 ASP.NET Core 项目,以便它运行以进行测试?

奇怪的是:在我启动主应用程序后,使用带有 ChromeDriver 的 Strg+F5 Protractor 将找到该应用程序的主页。但是我需要手动运行一次才能使测试正常工作...

public class EndToEndTests : IDisposable
{
private const string Url = "https://localhost:44391/";
private readonly IWebDriver _driver;
private readonly NgWebDriver _browser;

public EndToEndTests()
{
// TODO: somehow get the ASP.NET Core project up and running
_driver = new ChromeDriver(@"\test\ChromeDriver");
_driver.Manage().Timeouts().SetScriptTimeout(TimeSpan.FromSeconds(10));
_browser = new NgWebDriver(_driver);
}

public void Dispose()
{
_driver.Quit();
}

[Fact(DisplayName = "Has a title")]
public void HasATitle()
{
_browser.Url = Url;
Assert.Equal("My page", _browser.Title);
}

最佳答案

您需要在 SetUp 方法中自行托管 WebApp。

对于基于 .NET 4.5 Owin 的应用程序,您需要使用 Microsoft.Owin.Hosting 包和 WebApp.Start 方法。

使用.NET Core,你需要使用WebHostBuilder

关于angular - 在 Visual Studio 2015 中使用 Protractor 测试 ASP.NET Core 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41675510/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com