如何检查chai库中的嵌套键断言?

时间:2016-11-28 12:39:34

标签: javascript chai

我正在使用chai断言库编写一些简单的单元测试。我正在编写一个测试,用于从股市代码中加载财务数据。

该功能将浏览代码列表并将其数据添加到名为“数据”的对象中,该对象将包含由相应股票市场代码识别的密钥。这些密钥中的每一个都将存储其各自的财务数据。

以下是相同

的代码
it('adds a new map with loaded data where the key is the ticker symbol after API request', () => {
        const state = Map();
        const tickers = List.of('AAPL', 'TSLA', 'GOOGL', 'FB');
        const nextState = loadAPIData(state, tickers);

        expect(nextState).to.equal(fromJS({
            tickers: ['AAPL', 'TSLA', 'GOOGL', 'FB']
        }, data: {
            AAPL: {
                //data for AAPL goes here
            }, 
            TSLA: {
                //data for TSLA goes here
            }, 
            GOOGL: {
                //data for GOOGL goes here
            },
            FB: {
                //data for FB goes here
            }
        }));
    })

现在,我的问题是如何检查包含各种股票行情代码的密钥是否已添加到数据对象中,并且数据对象本身已创建,而不知道API正在加载哪种数据?我想知道的是,数据已加载并添加到相应的键中。

1 个答案:

答案 0 :(得分:0)

使用

expect(nextState).to.deep.equal(...)

参考http://chaijs.com/api/bdd/#method_equal