第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

xUnit 的模擬服務(wù)

xUnit 的模擬服務(wù)

C#
大話西游666 2023-09-16 20:15:08
我有一個(gè)應(yīng)用程序當(dāng)前按設(shè)計(jì)工作,但在擴(kuò)展它之前,我嘗試使用 xUnit 設(shè)置集成測(cè)試。目前測(cè)試在執(zhí)行測(cè)試時(shí)只會(huì)使用原始服務(wù),我不明白為什么。這是測(cè)試:using IStoreRepository = Repositories.V3.Interfaces.IStoreRepository;public class StoreTests : IClassFixture<WebApplicationFactory<Startup>> {    private readonly ITestOutputHelper _output;    private readonly WebApplicationFactory<Startup> _factory;    private readonly string _url;    public StoreTests(ITestOutputHelper output, WebApplicationFactory<Startup> factory) {        _output = output;        _factory = factory;        _url = "/api/store";    }    [Theory]    [InlineData("GET", "FAKE123")]    public async Task StoreByCode(string method, string code = null) {        // var client = _factory.CreateClient();        var client = _factory.WithWebHostBuilder(builder => {            builder.ConfigureTestServices(services => {                services.AddScoped<IStoreRepository, StoreRepositoryTest>();            });        }).CreateClient();        var request = new HttpRequestMessage(new HttpMethod(method), $"{_url}/{code}");        string readAsStringAsync;        _output.WriteLine($"Request Uri: {request.RequestUri}");        using (var response = await client.SendAsync(request)) {            response.EnsureSuccessStatusCode();            readAsStringAsync = await response.Content.ReadAsStringAsync();            if (!response.IsSuccessStatusCode) {                _output.WriteLine($"Not successful ({response.StatusCode}): {readAsStringAsync}");            }        }        var stores = JsonConvert.DeserializeObject<List<Store>>(readAsStringAsync);        Assert.True(stores.Any());    }}Repository然而,當(dāng)我進(jìn)行測(cè)試時(shí),實(shí)際中的斷點(diǎn)StoreRepository是在 Startup.cs 中注冊(cè)的,而不是 中的斷點(diǎn)StoreRepositoryTest。我設(shè)置我的工廠來(lái)覆蓋依賴項(xiàng),但它忽略了它。我可以做什么來(lái)糾正這個(gè)問(wèn)題。作為參考,我一直在使用此來(lái)源:https://learn.microsoft.com/en-us/aspnet/core/test/integration-tests ?view=aspnetcore-2.2
查看完整描述

2 回答

?
HUWWW

TA貢獻(xiàn)1874條經(jīng)驗(yàn) 獲得超12個(gè)贊

我以前見(jiàn)過(guò)這個(gè)。您可能在不同的命名空間中創(chuàng)建了一個(gè)接口。

通常,當(dāng)您擁有 Web 服務(wù)的版本 1 界面,然后您決定添加新功能時(shí),就會(huì)發(fā)生這種情況。然后,您創(chuàng)建一個(gè)具有完全相同名稱的版本 2 接口。

設(shè)置斷點(diǎn)services.AddScoped<IStoreRepository, StoreRepositoryTest>()并進(jìn)行調(diào)試。檢查結(jié)果并滾動(dòng)到正在添加服務(wù)的底部;您將清楚地了解所添加的內(nèi)容。


查看完整回答
反對(duì) 回復(fù) 2023-09-16
?
慕萊塢森

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊

1)您可以嘗試使用CustomWebApplicationFactory類并在ConfigureWebHost(IWebHostBuilder builder)方法中添加builder.ConfigureServices(//定義依賴項(xiàng))。?

2)或者,您可以定義自己的TestStartup類繼承自Startup類并使用它。


查看完整回答
反對(duì) 回復(fù) 2023-09-16
  • 2 回答
  • 0 關(guān)注
  • 165 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)