如何确认我使用的是啥版本的 Jasmine?

Posted

技术标签:

【中文标题】如何确认我使用的是啥版本的 Jasmine?【英文标题】:How can I confirm what version of Jasmine I'm using?如何确认我使用的是什么版本的 Jasmine? 【发布时间】:2014-08-30 17:37:24 【问题描述】:

如果我记得 Jasmine 中有一个命令可以将我正在运行的 Jasmine 的确切版本记录到控制台,但我不记得它是什么了。我很肯定我以前在某个地方看到过这个,现在我真的需要它,我在任何地方都找不到它。有人知道是什么吗?


编辑:使用jasmine.getEnv().versionString() 的已发布解决方案不起作用 - 对于阅读此内容的任何模组,修复该问题是否会更好地作为一个新问题开始,还是继续此处?

【问题讨论】:

【参考方案1】:

要简单地记录版本号,请尝试:

   if (jasmine.version)  //the case for version 2.0.0
       console.log('jasmine-version:' + jasmine.version);
    
    else  //the case for version 1.3
       console.log('jasmine-version:' + jasmine.getEnv().versionString());
    

我使用这个小辅助函数:

 this.isJasmineV2 = function () 
        return (jasmine.version && jasmine.version.charAt(0) === "2");
        //version 1.3 uses this syntax: jasmine.getEnv().versionString()
    ;

【讨论】:

啊,这就解释了为什么我看到了两个不同的答案——我没有考虑茉莉花版本的差异。这清除了它,谢谢!【参考方案2】:

命令行命令:

详细视图:

npm view jasmine

版本号:

npm view jasmine version

【讨论】:

jasmine.version 保存版本号【参考方案3】:
describe('Test to print out jasmine version', function() 
it('prints jasmine version', function() 
        console.log('jasmine-version:' + jasmine.getEnv().versionString());
    );
);

来源:Updating the version of Jasmine used in karma-jasmine

【讨论】:

这看起来像我需要的,但是当我运行它时出现错误:'undefined' is not a function (evaluating 'jasmine.getEnv().versionString()') 。有什么想法吗? 用这条线试试console.log(jasmine.version || (jasmine.getEnv().versionString && jasmine.getEnv().versionString()));【参考方案4】:

由code判断

jasmine.version

应该给你版本字符串。

【讨论】:

【参考方案5】:

执行上述操作或直接转到 jasmine.js 文件并查找函数 getJasmineRequireObj().version。这个函数返回的是 jasmine 的版本。

【讨论】:

谢谢。我在node_modules/jasmine-core/lib/jasmine-core/jasmine.js:getJasmineRequireObj().version = function() return '3.5.0'; ;找到它

以上是关于如何确认我使用的是啥版本的 Jasmine?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Jasmine 单元测试中使用 Sinon 对 jQuery 动画进行假时间?

Jasmine:Angular Typescript 项目中的“不完整:未找到规范”

如何确认我使用的是 Vue 的“完整版本”?

如何编写一个期望在 Jasmine 中抛出“错误”的测试?

使用 jasmine 和 karma 进行单元测试时形成数组错误

询问 Python 我使用的是啥版本 [重复]