Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何测试我的控制器?_Javascript_Node.js_Testing_Mocha.js_Ava - Fatal编程技术网

Javascript 如何测试我的控制器?

Javascript 如何测试我的控制器?,javascript,node.js,testing,mocha.js,ava,Javascript,Node.js,Testing,Mocha.js,Ava,我正在使用Express构建一个RESTAPI。代码按应该的方式划分为路由/模型/控制器(没有视图,只是JSON) 控制器负责逻辑:它们向数据库发出请求并构建响应。对我来说,这是在我的应用程序中要测试的主要内容 现在,我应该如何测试控制器? 我已经读到编写原子测试是最好的方法,所以我想我应该在每次测试之前清除数据库,运行迁移并为数据库设置种子(包括向控制器发出请求+检查响应)。。。但这需要时间,即使是非常少的测试!如果我这样做的话,将测试与git挂钩似乎是一个非常糟糕的主意,测试它们的整个想法都

我正在使用Express构建一个RESTAPI。代码按应该的方式划分为路由/模型/控制器(没有视图,只是JSON)

控制器负责逻辑:它们向数据库发出请求并构建响应。对我来说,这是在我的应用程序中要测试的主要内容

现在,我应该如何测试控制器?


我已经读到编写原子测试是最好的方法,所以我想我应该在每次测试之前清除数据库,运行迁移并为数据库设置种子(包括向控制器发出请求+检查响应)。。。但这需要时间,即使是非常少的测试!如果我这样做的话,将测试与git挂钩似乎是一个非常糟糕的主意,测试它们的整个想法都失败了。

您可以使用测试REST API。

看起来您需要进行集成测试和单元测试。单元测试应单独进行。使用UI测试框架测试UI逻辑,这同样适用于其他级别(您可以使用不同的库来模拟对象)。如果测试是孤立运行的,那么它们将运行得很快……我已经在手动端到端测试中使用了失眠,但Postman并没有专门帮助测试控制器。无论如何,谢谢你的建议,这个工具很棒!