首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dom测试Mocha + karma

Dom测试Mocha + karma
EN

Stack Overflow用户
提问于 2014-08-26 23:12:30
回答 1查看 1.2K关注 0票数 2

我正在尝试一些javascript tdd,但是我不知道如何使用mocha和karma进行dom测试,只有mocha非常简单:我创建了一个hmtl文件

代码语言:javascript
复制
<!doctype html>
<html>
    <head>
        <title>Simple mocha test</title>
        <link rel="stylesheet" href="node_modules/mocha/mocha.css">
    </head>
    <body>
        <h1>Login</h1>
        <form>
          <input type="email" name="email" required>
          <button id="btn-login">Login</button>
        </form>
        <div id="mocha"></div>
        <script src="node_modules/mocha/mocha.js"></script>
        <script src="node_modules/chai/chai.js"></script>
        <script>
            mocha.ui('bdd'); 
            mocha.reporter('html'); 
            var expect = chai.expect; 
        </script>
        <script src="./test.js"></script>
        <script>
            mocha.run(); 
        </script>
    </body>
</html>

一个js文件

代码语言:javascript
复制
describe('Tests DOM  - login form', function() {
      var formElem = document.forms[0];
      var signupButton = document.getElementById('btn-login');

      it('has a form', function() {
        debugger;
        expect(formElem).to.not.equal(null);
      });

      it('input field is of type email', function() {
        expect(formElem.email.getAttribute('type')).to.equal('email');
      });

      it('login button has the right text', function() {
        expect(signupButton.innerHTML).to.equal('Login');
      });
    });

然后运行mocha

当我使用karma运行我的测试时,它确实加载了javascript,但它在html没有加载的上下文中执行它,有没有办法告诉karma加载hmtl或修改mocha脚本来直接加载hmtl?

EN

回答 1

Stack Overflow用户

发布于 2015-05-14 23:15:46

请尝试karma-html2js-preprocessor

测试代码

beforeEach ->

代码语言:javascript
复制
# inject html
if __html__?

    html = __html__['test/design/lib/jquery.loading.html']
    newDoc = document.open('text/html', 'replace')
    newDoc.write html
    newDoc.close()

karma配置

代码语言:javascript
复制
   .....
   preprocessors: {
        'test/design/**/*.html': ['html2js']
   },
   ....
   plugins: [
        .....
        'karma-html2js-preprocessor',
    ]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25509349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档