【发布时间】:2021-11-30 07:11:06
【问题描述】:
我正在使用dotnet-testcontainers https://github.com/HofmeisterAn/dotnet-testcontainers 在我的 xUnit 测试中使用 mountebank 启动一个容器。
我可以成功创建 mountebank 客户端并成功创建冒名顶替者。
问题是,当测试运行时,应用程序尝试调用 http://localhost:3000 上的冒名顶替者并被拒绝连接。
我可以成功打开http://localhost:2525,可以看到Mountebank默认页面。所以mountebank运行良好。我还通过查看 docker 容器日志确认了在端口 3000 上成功创建了冒名顶替者。
我还尝试使用 Postman 拨打我的冒名顶替者 http:localhost:3000 并拒绝连接。
可能是什么问题?这是docker容器中的端口3000没有暴露的问题吗?以下是我的代码:
MountebankClient mbClient = new MountebankClient();
var testcontainersBuilder = new TestcontainersBuilder<TestcontainersContainer>()
.WithImage("bbyars/mountebank")
.WithName("mountebank")
.WithPortBinding(2525, false)
.WithHostname("localhost");
var testContainers = testcontainersBuilder.Build();
await testContainers.StartAsync();
var testImposter = mbClient.CreateHttpImposter(3000);
testImposter.AddStub().ReturnsBody(HttpStatusCode.OK, File.ReadAllText(@".\Stubs\testImposter.json"));
mbClient.Submit(testImposter);
【问题讨论】:
标签: docker mountebank service-virtualization