In node.js, how to use child_process.exec so all can happen asynchronously?
我正在模拟注册代理机构的用户,但是它显示了某些属性Null。
我是新手,对此我不理解。
我正试图使模拟注册机构用户成为模型
{% extends 'pizzas/base.html' %}
{% block content %}
<p>Pizzas</p>
<ul>
{% for pizza in pizzas %}
<li>{{ pizza }}</li>
{% empty %}
<li>No pizza duh.</li>
{% endfor %}
</ul>
{% endblock content %}
这是我要测试的
[TestMethod]
public async Task ABCreateActionResult_ReturnsBadRequest_Badrequest()
{
RegisterAgencyUserRequest mock = new Mock<RegisterAgencyUserRequest>().Object;
var controller = _accountController.RegisterAgencyUser(mock);
JsonResult viewResult = (JsonResult)await _accountController.RegisterAgencyUser(mock);
}
答案 0 :(得分:1)
您仅模拟要测试的类的依赖项。因此,您无需模拟POCO。只需使用如下伪数据进行设置:
var model = new RegisterAgencyUserRequest
{
Address = "Value1",
AgencyName = "Value2",
//...
};
并按如下所示使用它:
var controller = _accountController.RegisterAgencyUser(model);
您对该方法的依赖性为:
_inviteRepository.GetInvitaionCodeDetails()
因此,您需要在初始化时模拟_inviteRepository
并将其注入到测试中的主题控制器中。
答案 1 :(得分:0)
您需要在模拟上进行设置,您的代码只会创建一个空对象。
var mock = new Mock<RegisterAgencyUserRequest>();
mock.Setup(x => x.Address).Returns(() => "some address");
RegisterAgencyUserRequest request = mock.Object;
编辑:Azhar Khorasany的答案通过不模拟POCO而是模拟您在测试中使用的服务/存储库来说明应如何进行。