0

问题

我想expect()在我的 e2e 测试中使用断言某些东西,但只expect()Future's 上运行。我怎样才能让它工作:

expect(true).toBe(true);

细节

上面的expect()调用在单元测试中工作正常,但expect()在 e2e 测试中是不同的野兽。在我的情况下,我需要验证是否未选中所有单选按钮。这是代码:

    //first grab all radios in my DOM
    element('.hhmInHousehold div > input[type="radio"]', 'member status').query(function(radios,doneFn){
            //cycle through each radio to check if it is checked
            angular.forEach(radios, function(radio, key)
            {
                if(radio.checked !== false) {
                    //in my perfect world this if check, then throw 
                    //statement should just be:  expect(radio.checked).toBe(false);
                    throw "expected radio checked to not be checked";
                }

            });

            doneFn();
        });

在上面,我做了一个不优雅的 if 语句,然后抛出一个异常。有一个更好的方法吗?

谢谢!

4

2 回答 2

0

我不知道使用未来作为输入的简单方法,expect但您可以执行以下操作以确保未选中所有复选框:

expect(element('input:checked').count()).toBe(0);

如果您还没有在这里看到它,请参阅 E2E API 的文档。

于 2013-03-15T04:18:28.880 回答
0

我设法执行以下操作来检查元素是否隐藏:

expect(element("#id_element").css("display")).toBe("none");    

并检查此元素是否可见:

expect(element("#id_element").css("display")).not().toBe("none");

我相信这不是最好的方法。但这很简单,它对我有用。

干杯!

于 2013-05-16T12:43:15.683 回答