【发布时间】:2019-02-11 05:28:33
【问题描述】:
我正在尝试编写启用或禁用按钮的测试用例。
<button type="button" id="addBtn" className={`btn border-0 create-job-btn ${enabled ? 'add-btn' : 'jd-button'}`} disabled={!enabled} >Add/Paste Jd</button>
<span className="pl-1 pr-1"> or </span>
<button type="button" id="uploadBtn" className={`btn border-0 create-job-btn ${enabled ? "upload-btn" : "jd-button"}`} disabled={!enabled} >Upload Jd File</button>
现在,我尝试的是,
it('should have buttons', () => {
const wrapper = shallow(<SelectCriteraNewJob />);
expect(wrapper.find('button#addBtn')).toBeTruthy();
expect(wrapper.find('button#uploadBtn')).toBeTruthy();
});
现在,
const enabled = (!!selectedTechnology && selectedTechnology.length > 0) && (!!userCompany && userCompany.length > 0)
所以,我在为按钮 enable and disable 编写测试用例时感到困惑。
那么,任何人都可以帮我解决这个问题吗?谢谢。
【问题讨论】:
-
你可以窥探对象 selectedTechnology 和 userCompany 并检查它
-
被选中的Technology 和userCompany 存储在您所在的州吗?或者它是作为道具传递还是作为常量给出?
-
这是存储状态
-
const { selectedTechnology } = this.state;常量 { userCompany } = this.props; const enabled = (!!selectedTechnology && selectedTechnology.length > 0) && (!!userCompany && userCompany.length > 0)
-
@Harvey 这是我使用的方式
标签: reactjs unit-testing jestjs