我正在使用dotnet-testcontainers
https://github.com/HofmeisterAn/dotnet-testcontainers在我的 xUnit 测试中使用 mountebank 启动一个容器。我可以成功创建 mountebank 客户端并成功创建冒名顶替者。问题是,当测试运行时,应用程序尝试调用冒名顶替者http://localhost:3000
并被拒绝连接。
我可以成功打开http://localhost:2525
并且可以看到Mountebank默认页面。所以mountebank运行良好。3000
我还通过查看 docker 容器日志确认了冒名顶替者是在端口上成功创建的。我还尝试使用 Postman 打电话给我的冒名顶替者http:localhost:3000
并拒绝连接。
可能是什么问题?这是3000
docker容器中的端口没有暴露的问题吗?下面是我的代码:
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);