亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

僅在為第二次 API 調用的測試中重新創建數據庫時才獲取 404 Not Found

僅在為第二次 API 調用的測試中重新創建數據庫時才獲取 404 Not Found

C#
繁星淼淼 2023-04-29 16:38:24
我正在嘗試為我繼承的遺留代碼創建 API 集成測試。目前我有一段測試代碼:重新創建數據庫(使用 Fluent Migrations)啟動網絡應用程序 (Owin.Hosting)調用 api 獲取授權令牌對授權端點進行 api 調用如果我跳過第一步并只執行 2) 3) 4),它會完美地工作。我還能夠執行步驟 1) 2) 3)(因此 auth API 調用可以與包括的數據庫重新創建一起使用),這有點奇怪。我以為我的 web api 工作不正常,但是當我不重新創建數據庫時,我可以執行基本路徑。然后我想當我重新創建數據庫時它可能根本不起作用,但我能夠授權用戶。我不知道我現在可以嘗試什么。[Collection("Database Create collection")]public class RoleControllerTests : IDisposable{    private readonly IDisposable _server;    private readonly string _url = new Configuration().ServerUrl;    public RoleControllerTests()    {        _server = WebApp.Start<Startup>(_url);    }    public void Dispose()    {        _server.Dispose();    }    [Fact]    public async Task basic_roles_should_exist_in_the_database()    {        // Arrange        var roleApi = RestClient.For<IRoleController>(_url);        IAuthorize auth = new Authorize();        roleApi.AuthenticationHeader = await auth.GetAuthenticationHeaderAsync();        // Act        var rolesData = await roleApi.List();        // Assert        rolesData.ShouldContain(x => x.Name == "User");        rolesData.ShouldContain(x => x.Name == "Displayer");    }}
查看完整描述

1 回答

?
瀟瀟雨雨

TA貢獻1833條經驗 獲得超4個贊

所以我將測試框架更改為 NUnit 并且它正在運行。我不知道為什么,XUnit 在運行時更改內容時是否存在一些問題?



查看完整回答
反對 回復 2023-04-29
  • 1 回答
  • 0 關注
  • 118 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號