Angular6茉莉花TypeError:Expect(...)。toBeVisible不是一个函数

时间:2018-07-22 09:09:43

标签: angular jasmine karma-jasmine angular6 jasmine-jquery

在angular6中设置茉莉查询匹配

在angular 5项目上,它看起来很简单

import { } from 'jasmine-jquery/lib/jasmine-jquery';
import { } from 'jasmine-jquery-matchers';
import * as $ from 'jquery';

在角度6上,我尝试了以下方法

import {} from "jasmine-jquery/lib/jasmine-jquery" ;
import {} from "jasmine-jquery-matchers/dist/jasmine-jquery-matchers" ;
import { } from "karma-jasmine-jquery";
import * as $ from 'jquery';

OR

import {} from "jasmine-jquery" ;
import {} from "jasmine-jquery-matchers" ;
import { } from "karma-jasmine-jquery";
import * as $ from 'jquery';

用法如下

imagesEL = fixture.debugElement.query(By.css('.cycle'));

expect(imagesEL).toBeVisible();

expect(imagesEL.nativeElement).toBeVisible();

但是每件事似乎都给出了相同的错误

  

TypeError:Expect(...)。toBeVisible不是函数

感谢您的帮助

Sample Code : https://stackblitz.com/edit/ng-test-tobevisible?file=app/hello.component.spec.ts

2 个答案:

答案 0 :(得分:2)

尝试将其用作您的进口商品

import "jasmine-jquery/lib/jasmine-jquery" ;
import "jasmine-jquery-matchers/dist/jasmine-jquery-matchers" ;
import "karma-jasmine-jquery";
import 'jquery';

请注意,jasmine-jquery-matchers没有默认导出

答案 1 :(得分:0)

toBeVisible()应该应用于nativeElement

imagesEL = fixture.debugElement.query(By.css('.cycle'));
expect(imagesEL.nativeElement).toBeVisible();