我正在unit test为我的component(Angular2应用程序)编写一个使用Karma-Jasmine.我正在使用Istanbul代码覆盖率报告.
这是我的测试用例,
it('Should Invoke onNext function', async(() => {
const fixture = TestBed.createComponent(LoginComponent);
fixture.detectChanges();
const login = fixture.componentInstance;
spyOn(login, 'onNext');
let email = fixture.debugElement.nativeElement.querySelector("input[name='username']");
email.value = "email";
let nextButton = fixture.debugElement.nativeElement.querySelectorAll("button")[1];
nextButton.click();
fixture.whenStable().then(() => {
expect(login.onNext).toHaveBeenCalled();
})
}));
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我spying on onNext function将验证它是否被调用nextbutton click.它工作正常,测试通过.
但是我的"登录"页面的代码覆盖率报告显示未涵盖onNext函数.

我究竟做错了什么??
如果我不监视onNext函数,该函数也会被覆盖,
it('Should Invoke onNext function', async(() => {
const fixture = TestBed.createComponent(LoginComponent);
fixture.detectChanges();
const login = fixture.componentInstance;
let email = fixture.debugElement.nativeElement.querySelector("input[name='username']");
email.value …Run Code Online (Sandbox Code Playgroud) 我正在使用 selenium 在 Firefox 中记录测试用例。它记录了一个按钮点击/或任何动作,如下所示,
driver = self.driver
driver.get(self.base_url + "/")
driver.find_element_by_id("ctl00__mainContent_lnkforgotpassword").click()
driver.find_element_by_id("ctl00__mainContent_ucForgotPassword1_btnNext").click()
Run Code Online (Sandbox Code Playgroud)
在这里,驱动程序使用 find_element_by_id 方法来访问元素,并且效果很好。
但我的要求是在仅给出该元素的文本的情况下找到此 Id,例如 -
如果忘记密码是一个链接,我想检索这个链接的ID,我会将关于代码修改为,
driver.find_element_by_id(getID("Forgot Password")).click().
Run Code Online (Sandbox Code Playgroud)
那么有没有办法编写getId()函数来从当前打开的页面中检索链接忘记密码的ID (或其他情况下某些标签/按钮的 ID)?
我有一个像下面这样的打字稿文件,
环境文件
var Environment = "DEV"
exports.Environment = Environment;
Run Code Online (Sandbox Code Playgroud)
我在我的 app.config 文件中使用它,如下所示,
var execEnv = require('./src/execEnvironment.ts');
Run Code Online (Sandbox Code Playgroud)
这给了我错误
找不到名称“exports”。
我究竟做错了什么?
我使用angular2.0和构建了一个Web应用程序typescript.现在我正在E2E为我的网站写作protractor.
现在,在我的一个测试中,我需要进行API调用(HTTP GET请求)并在我的测试用例中使用响应值作为输入.
所以基本上我想知道如何使一个GET request在Protractor-Jasmine和使用结果/响应.
angular ×3
typescript ×3
e2e-testing ×1
firefox ×1
istanbul ×1
jasmine ×1
karma-runner ×1
protractor ×1
python ×1
selenium ×1