有没有办法测试 angularjs 中的 HTML 元素? [这是我在 plunkr 中的应用][1] [1]: https://jsfiddle.net/4jttdczt/
Is there a way to test HTML element in angularjs? [Here is my app in plunkr][1] [1]: https://jsfiddle.net/4jttdczt/
我是 angularjs 的新手,试图测试 HTML 元素,但我的测试结果是 failed.Actually,我想测试 HTML 元素的值或文本包含。
谁能建议我如何实现它?
这是我的控制器规格:
describe('myAppCtrl', function() {
var scope, controller, httpBackend;
beforeEach(module('myApp'));
beforeEach(inject(function($rootScope, $controller, $httpBackend) {
scope = $rootScope;
controller = $controller;
httpBackend = $httpBackend;
}));
it('should show the text of element',function() {
expect($('#testtext')).toBe('First Angular JS App');
});
});
您在上面所做的是使用 Karma 进行单元测试,并且只加载您指定的模块。在这种情况下,它加载模块 myApp,但 myApp 没有任何对 HTML 的引用,也不加载 DOM 本身。
如果您想直接测试 HTML 个元素,请查看使用 Protractor 的端到端测试:
https://docs.angularjs.org/guide/e2e-testing
我是 angularjs 的新手,试图测试 HTML 元素,但我的测试结果是 failed.Actually,我想测试 HTML 元素的值或文本包含。 谁能建议我如何实现它? 这是我的控制器规格:
describe('myAppCtrl', function() {
var scope, controller, httpBackend;
beforeEach(module('myApp'));
beforeEach(inject(function($rootScope, $controller, $httpBackend) {
scope = $rootScope;
controller = $controller;
httpBackend = $httpBackend;
}));
it('should show the text of element',function() {
expect($('#testtext')).toBe('First Angular JS App');
});
});
您在上面所做的是使用 Karma 进行单元测试,并且只加载您指定的模块。在这种情况下,它加载模块 myApp,但 myApp 没有任何对 HTML 的引用,也不加载 DOM 本身。
如果您想直接测试 HTML 个元素,请查看使用 Protractor 的端到端测试: https://docs.angularjs.org/guide/e2e-testing