1
所以我的问题如下...对于我们使用RavenDb和Nancy构建api的项目。所以我的问题是关于单元测试......我们使用嵌入数据库,它在内存中运行多次。 ,如何正确的单元测试终点。例如,我们有一个端点创建帐户。为此,我们需要有一个用户,以便他可以创建帐户。什么是最好的方法来模拟?RavenDB中的单元测试如何正确执行
目前我们做的是这样的:
[Test]
public void UserCanAddAccountToCompany()
{
var user =
new User
{
Name = Guid.NewGuid().ToString(),
Email = Guid.NewGuid().ToString(),
Pwd = "password",
CompanyReference = new CompanyReference { Id = Guid.NewGuid().ToString(), Name = Guid.NewGuid().ToString() }
};
var response = new TestBrowser<User>("User/SignUp", user).Response;
var paramUserAccount = new ParamUserAccount()
{
User = response.Body.DeserializeJson<Result>().User,
Account = new Account() { Name = Guid.NewGuid().ToString() }
};
var response2 = new TestBrowser<ParamUserAccount>("account/create", paramUserAccount).Response;
var res = response2.Body.DeserializeJson<Result>();
Assert.NotNull(res.Account.Id);
Assert.NotNull(res.Account.Name);
}
所以我们创建一个用户,呼叫用户注册端点,然后从响应采取PARAMS和呼叫科瑞accoutn终点。这种方法的一个显而易见的问题是,如果您在注册终结点上做了一些改变,并且由于某种原因而中断了它,那么所有像这样的测试都将失败。
所以我的问题是...什么是正确的方法呢?
虽然你是对的,但你的答案是非常压缩的。您能否指导用户如何在这个方向上迈出第一步,或者至少链接到类似的问题。 –