我试图使用带有ts节点的Mocha在TypeScript中为我的项目编写单元测试。当我使用sinon对异步函数进行间谍操作时,我无法通过测试。下面是我的代码
class MyClass {
async businessFunction(param): Promise<void> {
if (!param) //Validate the input
throw new Error("input must be valid");
// Then do my business
}
}
和单元测试
de
我尝试使用rendr(客户机和服务器中的主干)创建一个webapp,并尝试实现一些单元测试。
有没有一种方法可以在摩卡中运行集合获取单元测试?我想使用sinon来模拟mocha中的ajax请求。但是,当我试图以这种方式对$ "ajax“进行存根时,会发生错误,
var chai = require("chai");
var rekuire = require("rekuire");
var sinon = require("sinon");
var $ = require("jquery"); //because this
当我在Vue中有一个从基类扩展而来的组件时,它可以像预期的那样在浏览器中运行。但是当使用mocha进行单元测试时,基类上的方法就消失了。在下面的简单示例中,这将导致错误TypeError: this.methodInBaseClass is not a function。但在运行时它可以工作,然后会显示消息Some other data,正如我所期望的那样。 哪里出了问题?更重要的是,如何修复它? 考虑这个简单的Vue组件: <template>
<div>{{ myData }}</div>
</template>
<scri
我对function*/yield/yield*和单元测试都是新手,我不确定为什么我的单元测试代码不能工作。它在mocha测试框架中使用sinon存根。我已经阅读了function*/yield/yield*,但它仍然让我感到困惑。 使用Co库,我有一个内部带有yield*的function*,它调用另一个function*。我试图用一个sinon存根模拟对yield*调用的function*的调用,但存根返回未定义。如果存根是简单的yield而不是yield*,则存根将返回正确的响应。 导入: import * as name from './file'; 调用原始生成器函
我在我工作的地方给我们的javascript文件带来了测试。我决定使用Mocha,Chai和Sinon库来帮助测试。我从为不需要太多重构的函数编写单元测试开始,遇到了这个我不太理解的有趣案例。
function getQueries() {
code that returns queries in an array -> ['one', 'two', 'three']
}
function sort(col, type) {
var queries = getQueries();
some code that sort
我尝试了很多次,但总是不起作用。我使用Mocha单元测试。这是我的代码单元测试:
var expect = require("expect");
var jQuery = require("jquery");
var sinon = require("sinon");
describe("SinonFakeServerWithJasmine", function() {
var server;
beforeEach(function() {
server = sinon.fakeServ
我使用es6模块和Karma/Mocha/Sinon/Chai进行单元测试。如果在另一个es6模块中调用了一个es6模块,我就能够对第二个es6模块进行存根/监视,如下所示:
模块-a.js
export function a() {
// do something
}
模块-b.js
import * as moduleA from './module-a';
export function b() {
// do something
moduleA.a();
}
使用上面的代码,我可以监视moduleA.a(),确定何时调用moduleA.a
似乎有很多不同的方法可以做到这一点,但我只尝试使用sinon,sinon-test,chai/mocha,axios,httpmock模块。我无法成功地模拟使用axios进行的GET调用。我希望能够模拟来自axios调用的响应,这样单元测试实际上就不必发出外部API请求。 我已经尝试通过创建沙箱来设置基本单元测试,并使用sinon存根来设置GET调用并指定预期的响应。我不熟悉JavaScript和NodeJS。 // Main class (filename: info.js)
function GetInfo(req, res) {
axios.get(<url>).
我正在努力学习如何使用Sinon、Mocha和柴进行JS单元测试。现在,我想确认我的一个函数实际上提出了一个api请求(所以我需要模拟我的函数)。我相信我已经在Sinon文档中找到了相关的模拟代码(它是用于测试Ajax的代码),但是,我无法理解发生了什么(文档非常稀少)。谁能解释it函数中3行代码的每一行(直接在下面)?
it("makes a GET request for todo items", function () {
sinon.replace(jQuery, "ajax", sinon.fake());
getTodos(42, sino
由于某些原因,我的测试套件的第一个单元测试总是比其他单元测试慢。当在我的控制台中执行测试时,我得到如下内容:
√ unit test A (483ms)
√ unit test B
但在代码中,如果我将单元测试B更改为在单元测试A之上,则会得到以下结果:
√ unit test B (470ms)
√ unit test A
由于某些原因,第一次单元测试总是变慢,因此我认为,不是我的代码慢,而是Mocha的某些东西慢。同时,我还有其他的测试套件,它们正在测试其他代码,而且运行良好,所以我很困惑。也许不是Mocha,但由于不确定,我需要问你是否有可能发生的事情的想法。
测试是这样的:
let t
我正在用摩卡、柴伊和西农测试我的铬延伸。当我试图从方法中存根一个对象时,我得到:
EvalError: Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "script-src 'self' blob: filesystem: chrome-extension-resource:".
at cr
假设我有两个ES6类。
这是A类:
import B from 'B';
class A {
someFunction(){
var dependency = new B();
dependency.doSomething();
}
}
和B类:
class B{
doSomething(){
// does something
}
}
我正在使用mocha (和ES6的babel ),chai和sinon进行单元测试,这真的很棒。但是,在测试类A时,如何为类B提供模拟类呢?
我想模拟整个类B(或