我需要帮助使用 jQuery-Jasmine 的toBeHidden()
和toBeVisible()
方法。
当用户选中一个复选框时,一个文本字段应该向下滑动 - 取消选中它会向上滑动。页面加载时文本字段被隐藏。
该代码在我的应用程序中运行良好,但我对我在测试中得到的结果感到困惑。
前两个正在工作 - 检查该字段是否默认隐藏并在第一次更改时可见:
expect($('#text-field')).toBeHidden(); // passes
$('#checkbox').prop('checked', true).change();
expect($('#text-field')).toBeVisible(); // passes
但是当复选框未选中时,文本字段在真实版本中向上滑动,但在我的测试中失败:
$('#checkbox').prop('checked', false).change();
expect($('#text-field')).toBeHidden(); // fails
我也试过:
expect($('#text-field')).not.toBeVisible(); // fails
expect($('#text-field')).toHaveCss({display: "none"}); // fails
有谁知道我做错了什么或者知道我还需要做些什么来帮助 Jasmine 看到文本字段向上滑动?