草庐IT

javascript - Jasmine 单元测试 - 测试对象的未定义属性

我有以下声明expect(A.["BAR"].name).toEqual("foo");由于我的对象A具有顶级属性“BAR”并且bar具有值“foo”通过。我想测试我的结构以确认属性“NONEXISTINGPROP”没有被定义。例如expect(A.["NONEXISTINGPROP"].name).not.toBeDefined();不过我好像明白了"TypeError:A.[NONEXISTINGPROP]isundefined"在jasmine测试运行器中,这正是我想要确认的。知道为什么Jasmine在哭。我希望它能通过这个。非常感谢 最佳答案

javascript - 您如何使用 Resharper 调试 Jasmine 测试?

在VisualStudio2012中使用Resharper运行Jasmine测试时,我找不到调试(遍历)JavaScript代码的方法。我尝试使用浏览器(Chrome)运行测试,但测试运行器会在测试后立即关闭端口已运行,因此我无法在代码中放置断点。还尝试在InternetExplorer中运行并在VisualStudio中放置断点,但它不会附加到进程。我的测试有很多///reference脚本,Resharper会自动将其包含在测试运行程序中,但我不想为我想要调试的每个测试手动执行此操作。请帮助我理解这一点。如果您的jasmine测试失败了,那么您如何调试它?

javascript - Jasmine 测试一个 promise.then 函数

我尝试使用Jasmine测试我的应用程序并遇到以下问题:我将在我的promise的then函数中计算一些东西。这就是我需要测试我的代码的地方。这是我的Controller的代码:TestCtrl.$inject=["$scope","TestService"];/*ngInject*/functionTestCtrl($scope,TestService){$scope.loadData=function(){TestService.getData().then(function(response){$scope.data=response.data;$scope.filtered=$

javascript - Jasmine 期望逻辑(期望 A OR B)

如果满足两个期望之一,我需要将测试设置为成功:expect(mySpy.mostRecentCall.args[0]).toEqual(jasmine.any(Number));expect(mySpy.mostRecentCall.args[0]).toEqual(false);我希望它看起来像这样:expect(mySpy.mostRecentCall.args[0]).toEqual(jasmine.any(Number)).or.toEqual(false);文档中是否遗漏了任何内容,或者我是否必须编写自己的匹配器? 最佳答案

javascript - Jasmine toHaveBeenCalledWith 部分匹配

有了Jasmine,我可以监视方法并找出参数。我希望能够调用toHaveBeenCalledWith(something,anything)。假设我想监视方法.on(event,callback)。我只关心event是否被监听,而不是实际的回调标识是什么。是否可以在不编写自定义匹配器的情况下执行此操作?我没有看到一个。 最佳答案 尝试toHaveBeenCalledWith(jasmine.any(Object),jasmine.any(Function)) 关于javascript-J

Jasmine 的 JavaScript 代码覆盖率

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭6年前。Improvethisquestion我们计划在我们的项目中引入JavaScript单元测试,到目前为止,Jasmine似乎是更好的JavaScriptBDD单元测试框架之一。现在我想知道我们如何监控JavaScript代码的代码覆盖率。有没有我们可以使用的工具/插件?我们是一家Microsoft商店,使用.NET/MVC4。

javascript - 如何在 Jasmine JS 中重用 beforeEach/afterEach?

在使用JasmineJS编写测试时,我有很多测试都具有类似的beforeEach/afterEach代码。有没有办法使用JasmineJS测试套件实现继承模型?我可以将所有测试分组到一个describe中,但在这种情况下,我将以一个包含所有测试的巨大JS文件结束。我想为每个页面拆分测试。这是一个例子:describe('ServicesPage',function(){beforeEach(function(){login_as_admin()})beforeEach(function(){browser().navigateTo('/services')})if('Sometestf

javascript - 将jasmine测试结果输出到控制台

我在我的firefox附加组件中使用Jasmine(JavaScript的BDD测试框架)来测试我的代码的功能。问题是jasmine正在将测试结果输出到HTML文件,我需要的是Firebug控制台或其他解决方案来输出结果。 最佳答案 你试过ConsoleReporter了吗?jasmine.getEnv().addReporter(newjasmine.ConsoleReporter(console.log));根据代码,Jasmine有一个ConsoleReporter类,它执行一个打印函数(在本例中为console.log),它

javascript - 在 Jasmine JS 测试中未触发 AngularJS Promise 回调

问题介绍我正在尝试对包装FacebookJavaScriptSDKFB对象的AngularJS服务进行单元测试;但是,测试不起作用,而且我一直无法弄清楚为什么。此外,服务代码确实当我在浏览器而不是JasmineJS单元中运行它时工作测试,用Karmatestrunner运行。我正在通过$q使用Angularpromises测试一个异步方法目的。我将测试设置为使用Jasmine1.3.1asynctestingmethods异步运行,但是waitsFor()函数从不返回true(见下面的测试代码),它只是超时5秒后。(Karma尚未附带Jasmine2.0异步测试API)。我想可能是因为

javascript - 使用 Jasmine 和 TypeScript 进行单元测试

我正在尝试使用Jasmine编译用Typescript编写的单元测试。对于我的单元测试文件中的以下内容,Resharper会提示我提供一个从jasmine.d.ts导入类型的链接。//////describe("PersonFullName",function(){varperson;BeforeEach(function(){person=newPerson();person.setFirstName("Joe");person.setLastName("Smith");});It("shouldconcatenatefirstandlastnames",function(){Exp