编程语言
首页 > 编程语言> > javascript – 运行jasmine测试时,我怎么知道我是否在一个描述块中,在每个块之前或它是否阻塞?

javascript – 运行jasmine测试时,我怎么知道我是否在一个描述块中,在每个块之前或它是否阻塞?

作者:互联网

如果在我的测试中在’it’或’beforeEach’块之外使用了一个实用程序,我需要抛出异常.
示例 –

   describe('some test', function(){

     useUtil();     // should throw exception

     beforeEach(function(){
        useUtil()   // should work
     })

     it('should test something', function(){
        useUtil()   // should work
     }) 
   })

util创建了间谍,我想确保它们的创建方式允许Jasmine在每个套件之后清理它们.

解决方法:

您可以创建一个名为isSpecPhase的全局可访问变量,并将其初始设置为false.

然后,定义一个全局的beforeEach:

beforeEach(function () {
    isSpecPhase = true;
});

确保在所有其他套件之前定义beforeEach,以便它在每个规范之前运行.
在您的util函数中,您可以检查isSpecPhase ===是否为true,否则抛出异常.

标签:javascript,tdd,testing,jasmine,spy
来源: https://codeday.me/bug/20190703/1361624.html