我有一个 Angular Controller ,它定义了一个包含 50 多个字段名称的数组。这些都应该出现在 HTML 文件中,因为输入的 id 和 ng-model 都存在。我想通过阅读和解析 HTML 文件来测试我是否没有拼写错误。由于我需要获取数组,因此 Karma+Jasmine 测试似乎是理想的(使用 Protractor 我无法获取)。测试这个的好方法是什么?
对于 FileReader
和 $http.get
都没有输入成功或错误函数,而对于 XMLHttpRequest
我只是得到一个空字符串.
我已经添加了一行
pattern: 'app/views/*.html', watched: false, included: false, served: true}
到 karma.conf.js,匹配我想读取的文件。
非常感谢任何帮助。
最佳答案
1.您可以使用以下预处理器来呈现 html
- npm 安装 karma-ng-html2js-preprocessor --save-dev
将以下内容添加到 karma.config.js 中:
ngHtml2JsPreprocessor : {
moduleName:'templates'
},
2.使用angular的$compile服务创建你要测试的html并添加到dom中。然后你可以对该 html 执行任何测试
var $body=$('$body');
afterEach(
$body.empty();
);
关于javascript - 在 Karma+Jasmine 测试中读取 HTML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28410644/