首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将共享变量添加到chakram?

如何将共享变量添加到chakram?
EN

Stack Overflow用户
提问于 2017-08-11 17:51:22
回答 2查看 253关注 0票数 0

我正在使用chakram + mocha。如何在所有测试中使用共享变量?

例如,我想在测试中使用变量API_PATH="http://example.com/v1/"。并且这个变量可以在运行测试期间更改。所以,我的测试是这样的。

代码语言:javascript
复制
var response = chakram.get(API_PATH + "products");
expect(response).to.have.status(200);

例如,量角器具有带参数baseUrlconf.js。运行测试看起来像量角器conf.js --baseUrl http://example.com/

EN

回答 2

Stack Overflow用户

发布于 2017-08-12 01:20:01

到目前为止,你尝试过什么?您是否尝试过使用beforeEach重新初始化您正在使用的对象?你可以在你的测试之外声明共享变量。

编辑:添加Jerry所说的细节:如果您希望在同一个测试中重用所有变量,则必须使它们成为全局变量。请参见下面的示例

代码语言:javascript
复制
///include dependencies
var assert = require('assert'),
    chai = require('chai'),
    expect = chai.expect,
    chakram = require('chakram');

//INIT GLOBAL VARAIBLES FOR within the same test
var testObj,
    dummyData = {
        user: 'John Kim',
        lastSeenOnline: 'Wed August 11  12:05 2017'
    };

describe ('#User', function () {
    beforeEach(function () {
        //init what the object contains
        testObj = new DataStore(data, ContainerStore);
    });

    it ('#Should return the name of the user', function () {
        assert.equal(testObj.get('user'), dummyData.user);
    });

    it("should offer simple HTTP request capabilities", function () {
        return chakram.get("http://httpbin.org/get");
    });
});

注意:我使用react,但这只是一个示例。我们假设ContainerStore包含一个具有get()方法的方法,该方法只获取我们的JSON对象的值。您可以在不同的describe块中多次使用testObj,因为它是在测试之外声明的。但是您应该记住始终在beforeEach()中重新初始化您的tesObj;否则,您将冒着填充单个测试的风险。在某些情况下,您不必初始化beforeEach(),而且它是可选的。

票数 0
EN

Stack Overflow用户

发布于 2019-06-02 03:29:43

例如在config.js

代码语言:javascript
复制
module.exports = { 
    "baseUrl": "http://example.com/", 
    "googleUrl":  "http://www.google.com.tr/"
  }; 

并在javascript代码中使用:

代码语言:javascript
复制
let config = require('/config'); 

describle("test describle", () => {

   it("test", () => {
      chakram.get(config.baseUrl + "products");   //for example use
   })
})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45632146

复制
相关文章

相似问题

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