草庐IT

jest-jasmine

全部标签

javascript - 如何设置与 MemoryRouter 和 Jest 的匹配路径? (不是位置或历史)

如有重复请见谅我知道MemoryRouter有initialEntries和initialIndex,所以你可以为“location”和“history”设置路径等。但是“匹配”没有得到更新...我需要为我的React应用程序和Jest测试设置“匹配”。当我尝试时,我得到了match:{path:'/',url:'/',params:{}...},location:{path:'/hello',pathname:'/',...},history:{...,location:{path:'/hello',pathname:'/',...}}不知道有没有办法设置匹配。提前致谢。

javascript - 抛出错误但 Jest 的 `toThrow()` 没有捕获错误

这是我的错误代码:FAILbuild/__test__/FuncOps.CheckFunctionExistenceByString.test.js●expect(CheckFunctionExistenceByStr('anystring','FunctionThatDoesNotExistsInString')).toThrow();FunctionFunctionThatDoesNotExistsInStringdoesnotexistsinstring.atCheckFunctionExistenceByStr(build/FuncOps.js:35:15)atObject.(

javascript - 在 Jasmine 中每次测试后如何自动恢复所有 sinon.js spy ?

有什么方法可以找到sinon.js中所有活跃的spy吗?我希望能够做这样的事情:afterEach->sinon.restoreAllSpies()it"shouldnotcreateanewMyClass",->spy=sinon.spy(window,'MyClass')expect(spy).not.toHaveBeenCalled()目前,我需要费力地(而且容易出错!)这样做:it"shouldnotcreateanewMyClass",->spy=sinon.spy(window,'MyClass')expect(spy).not.toHaveBeenCalled()wind

javascript - 如何使用 Jasmine 监视静态类方法

我有一个带有静态方法的类,我想在Jasmine中对其进行测试。我知道静态方法不能在类的实例上调用。因此,除了它找不到spyOn的方法这一事实之外,我的测试没有通过,但是如何使用Jasmine测试类中的静态方法?classFoo{staticfoobar(a,b){returna*b}}Jasmine测试it('shouldtestastaticmethod',()=>{letfoo=newFoo()spyOn(foo,'foobar')foo.foobar(2,3)expect(foo.foobar).toBe(6)}) 最佳答案

javascript - 如何在任何测试失败时运行函数 - Jest

每当任何jest测试失败时,我都想运行一个function/task。不是用try/catch包装我的所有测试或添加if检查,有没有一种方法可以利用afterEach?如果测试失败,那么我希望它失败,只需运行一个单独的函数。例如:test('navloadscorrectly',async()=>{constlistItems=awaitpage.$$('[data-testid="navBarLi"]')expect(listItems.length).toBe(4)if(listItems.length!==4)awaitpage.screenshot({path:'screens

javascript - 使用 jasmine 测试 Backbone 关系模型

假设我有两个简单的固定文件,一个用于用户(1),一个用于消息(2)。消息的Backbone模型如下(3)。如果我加载“MessageFixture”,我还想获得有关消息模型中指定的用户的相关信息。使用jasmine测试套件在规范View(4)中激活此目标的正确方法是什么?详情请见(4)中的评论。(1)//UserFixturebeforeEach(function(){this.fixtures=_.extend(this.fixtures||{},{Users:{valid:{status:'OK',version:'1.0',response:{users:[{id:1,name:

javascript - 如何使用 Karma、Jasmine 和 Istanbul 指定测试应涵盖哪些功能/方法

我正在尝试弄清楚如何限制我的测试,以便覆盖率报告者只考虑在为该功能专门编写测试时覆盖的功能。下面的例子来自PHPUnitdoc很好地展示了我试图实现的目标:The@coversannotationcanbeusedinthetestcodetospecifywhichmethod(s)atestmethodwantstotest:/***@coversBankAccount::getBalance*/publicfunctiontestBalanceIsInitiallyZero(){$this->assertEquals(0,$this->ba->getBalance());}如果执

javascript - 在 Jest 测试中将通用数据放在哪里

我不确定如何为Jest测试组织代码。我的所有测试都在__tests__下,所有模拟都在__mocks__下。现在我有一些数据想在测试之间共享:它们不是现有函数的模拟,它们只是我想在不同文件中使用的一些javascript对象。我应该创建一个__data__目录吗?还是将它们放在__mocks__下?或者在__tests__目录下不在文件名中加入-test? 最佳答案 简短的回答是你想要的任何地方。JavaScript在其生命中经历了很多不同的阶段,也有很多不同类型的人在使用它。这可能就是为什么现在大多数工具都是高度可配置的,以允许个

javascript - Jasmine 使用 PhantomJS : ReferenceError: Can't find variable: $ 丢失了 jQuery

我想用PhantomJS在控制台中测试Jasmine使用jQuery的JS代码,但是ReferenceError:找不到变量:$我可以在浏览器中通过Jasmine正常测试代码。感谢您的帮助。$phantomjsexamples/run-jasmine.jshttp://localhost:8888/ReferenceError:Can'tfindvariable:$http://localhost:8888/public/javascripts/PhotoTable.js:59ReferenceError:Can'tfindvariable:$http://localhost:8888

javascript - Jest es6 模块 : unexpected module import

我正在尝试测试一个需要像这样导入es6模块的文件:https://repl.it/HG9t/0看来我缺少一些使其正常工作的配置。如果您可以使用另一个单元测试框架轻松实现这一点,我也很感兴趣。预先感谢您的帮助。 最佳答案 安装所需的依赖项:yarnadd--devbabel-jest@babel/core@babel/preset-env或npminstall--save-devbabel-jest@babel/core@babel/preset-env在您的主文件夹中创建babel.config.js并将其粘贴到那里://babel