首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ES6单元测试-导入和导出模块

ES6单元测试-导入和导出模块
EN

Stack Overflow用户
提问于 2015-09-14 16:30:28
回答 1查看 3.1K关注 0票数 2

我刚刚建立了一个ES6测试系统,主要遵循本教程,使用package.json中的下列依赖项:

代码语言:javascript
复制
"devDependencies": {
    "babel-core": "^5.8.24",
    "babel-loader": "^5.3.2",
    "jasmine": "^2.3.2",
    "jasmine-core": "^2.3.4",
    "karma": "^0.13.9",
    "karma-jasmine": "^0.3.6",
    "karma-jasmine-html-reporter-livereload": "^1.0.0",
    "karma-phantomjs-launcher": "^0.2.1",
    "karma-webpack": "^1.7.0",
    "phantomjs": "^1.9.18",
    "webpack": "^1.12.1"
}

现在,要在ES6中运行我的测试,我需要从客户机文件中export类,例如:

代码语言:javascript
复制
export class Calculator{

    add(op1,op2){
        return op1 + op2;
    }
    subtract(op1,op2){
        return op1 - op2;
    }
}

然后我需要在测试文件中import它:

代码语言:javascript
复制
import {Calculator} from './es6-testing';
describe('Calculator', () => {
   it('should add two numbers', () => {
       let calculator = new Calculator();
       let sum = calculator.add(1,4);
       expect(sum).toBe(5);
   });
    it('should subtract two numbers', () => {
        let calculator = new Calculator();
        let sum = calculator.subtract(4,1);
        expect(sum).toBe(3);
    });
});

在这种情况下,我很难理解为什么需要进口和出口。有没有一种方法可以绕过这个问题,例如,在不指定模块的情况下自动导入和导出模块?任何事情都必须使用导入和导出,这似乎会很容易地妨碍工作流。我遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-14 20:56:08

ES6模块允许您保持代码隔离。通过不将类Calculator放在全局作用域中,您可以在其他地方引用另一个名为Calculator的类。如果您使用的是模块,那么没有一种很好的方法可以自动导入类,因为您需要定义所引用的文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32569594

复制
相关文章

相似问题

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