使用玩笑和酶,我如何测试这一点。道具。功能测试运行了吗?
class TestComponent extends Component {
static propTypes = {
functionToTest: PropTypes.func
}
componentDidMount() {
this.props.functionToTest()
}
}
开玩笑的是,我试着创建mockProps,并在安装组件时传递它们。
let props = {
functionToTest = jest.fn(() => {});
}
beforeEach(() => {
const wrapper = mount(<TestComponent {...props} />
}
控制台。登录componentDidMount函数会将functionToTest显示为未定义。显然,在坐骑过程中通过道具是不起作用的。
问题1:如何传入将在componentDidMount函数中显示的模拟道具?
问题2:一旦该函数可用,我如何获得该函数的访问权限,以便在函数运行时使用spyOn或类似的测试工具?
问题是TestComponent只在Redux包装器中导出。在类级别添加导出并在Jest测试导入中对其进行分解,以及Henrick在上面发布的解决方案修复了它。
我不知道你的确切设置,但我会这样做:
jest模拟函数。fn()
就像你做的那样expect(…)运行。toBeCalled()
或。TohaveBeenCall()
(在不同的Jest版本中有所不同).
let props = {
functionToTest: jest.fn() // You don't need to define the implementation if it's empty
};
beforeEach(() => {
const wrapper = mount(<TestComponent {...props} />
}
// In the test code:
it('does something', () => {
expect(props.functionToTest).toBeCalled();
// OR... depending on your version of Jest
expect(props.functionToTest).toHaveBeenCalled();
});
问题内容: 我正在为我的React代码编写Jest测试,并希望使用/测试PropType检查。我对Javascript领域很陌生。我正在使用npm进行安装并有一个简单的方法: 在我的测试中。我的测试看起来很像玩笑/反应教程示例,其代码如下: 但是,似乎并未触发组件中的PropType检查。我知道检查仅在开发模式下运行,但是我还认为通过npm获得了开发版本。当我使用watchify构建组件时,检查会
如何使用jest框架测试void javascript函数(一个不返回任何东西的函数)?你能提供一个同样的例子吗? 我们如何测试这种类型的函数?
我试图理解Jests的异步测试。 我的模块有一个函数,它接受一个布尔值并返回一个值的承诺。executer函数调用 ,在超时回调中,promise根据最初提供的布尔值进行解析或拒绝。代码如下所示: 我想用Jest来测试一下。我想我需要使用Jest提供的模拟计时器,所以我的测试脚本看起来有点像这样: 无论是否调用 ,我都会得到以下错误/失败测试 你能解释一下我哪里出错了吗?我该怎么做才能通过考试,保
问题内容: 首先,我遵循Flux架构。 我有一个显示秒数的指示器,例如:30秒。每显示一秒,它就会少显示一秒钟,因此29、28、27直到0。当到达0时,我清除间隔,使其不再重复。而且,我触发一个动作。派遣此操作后,我的商店会通知我。因此,发生这种情况时,我将间隔重置为30秒,依此类推。组件看起来像: 组件工作正常。现在,我想用Jest测试它。我知道我可以使用renderIntoDocument,然
问题内容: 我有一个带有构造函数注入的控制器 这是一个简单的类,可以正常工作。但是,当我尝试使用下面的类运行JUnit测试时,出现错误。 错误是: 上面的错误消息使我感到困惑,我该如何使用零参数构造函数注入userMapper?我知道可以在MainController中为userMapper添加@Autowired,但是不建议使用字段注入。请有人指导我一种用于构造函数注入和MockMvc测试的合适
请考虑以下示例: 我希望将值传递到中,作为哑输入组件的道具。然而,它从不重新呈现它。