【发布时间】:2017-03-02 12:24:43
【问题描述】:
我想在没有 Web 服务层的情况下测试我的 Web 应用程序。为了做到这一点,我正在使用 Nancy 框架。
我正在嘲笑 ServiceA 如下:
public class ServiceAModule : NancyModule
{
public ServiceAModule () : base("/serviceAPath")
{
Get["/"] = p =>
{
var s = @"{Property1 : 23}";
var jsonBytes = Encoding.UTF8.GetBytes(s);
return new Response
{
ContentType = "application/json",
Contents = stream => stream.Write(jsonBytes, 0, jsonBytes.Length),
StatusCode = HttpStatusCode.OK
};
};
}
现在,在我的测试中:我初始化 Nancy 服务:
private static IDisposable CreateService()
{
const string url = "http://+:8088";
var service = WebApp.Start(url, builder =>
{
var browser = new Browser(with => { with.EnableAutoRegistration(); });
builder.UseNancy();
});
return service;
}
我正在使用 selenium 测试应用程序 UI。 我的问题是:我需要不同的场景(来自 ServiceAModule Get 端点的不同响应),我有什么选择? 如我所见,我有一个选择,即为每个测试用例创建不同的模块并在每个测试中注册该模块。 这个解决方案带来了大量的代码和混乱。
我还有其他选择吗?在这种情况下,Nancy 的常见用途是什么?
谢谢!
【问题讨论】:
标签: selenium testing automated-tests nancy