- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
//in my component i have
{this.props.auth.isLoadding &&
<p className='text-info positionMessage'>Is registring...</p>
}
//in my test i have
it('should start a new component with set props', () => {
const props = {
auth: {
isAuth: false,
isLoadding: false
}
}
const wrapper = shallow(<ScreensCreateAccount {...props}/>)
wrapper.setProps({isLoadding: true})
//here is code for testing if <p>...</p> appeared. how can i do this?
})
我的组件以 this.props.auth.isLoadding = false
开头,当将其更改为 true 时,html 也会更改,添加 <p className='text-info positionMessage'>Is registring...</p>
.我如何使用浅层 enzyme 对其进行测试?
最佳答案
这是一个适用于您的代码的工作示例:https://codesandbox.io/s/r7owz8mykm
在您的代码中,您只是忘记了 json 中 prop isLoading 的授权级别。
{isLoadding: true}
,而不是 {auth: {isLoadding: true} }
但是请注意,浅层渲染和 enzyme 可能不是测试 React 组件的正确工具。我用了一下,但现在我使用 react-testing-library :https://github.com/kentcdodds/react-testing-library我对此非常满意。我的测试现在更高级别并且可以像真实用户一样与我的组件交互。我可以在不破坏测试的情况下重构我的组件,使用 enzyme 编写这种测试并不容易。
我真的鼓励您至少阅读本文并发表您自己的意见。
https://blog.kentcdodds.com/why-i-never-use-shallow-rendering-c08851a68bb7
如果您已经使用 enzyme 进行了一些测试没问题,您可以在同一个项目中使用这两个库。
关于javascript - 我如何使用 enzyme 的 setProps() 测试组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54422010/
在 Win32 API 中,我们有两个名为“SetProp”和“GetProp”的函数来设置和获取由 HWND 标识的窗口的属性 设置 Prop : http://msdn.microsoft.com
谁能告诉我为什么下面的代码不起作用?我没有收到任何编译器错误。 short value = 10; SetProp(hCtl, "value", (short*) value); 最佳答案 第三个参数
在父组件App中,我渲染子组件PersonsTable: var App = React.createClass({ addPerson: function() { // bu
我试图在 Samsung S7 上为应用程序设置 firebase Debug模式但不能 adb shell setprop firebase.analytics.debug-mode com.roo
我正在使用 react & redux 开发应用程序,我需要 setProps 但它已被弃用。 看看下面的错误: Warning: setProps(...) and replaceProps(...
本文整理了Java中gobblin.source.workunit.WorkUnit.setProp()方法的一些代码示例,展示了WorkUnit.setProp()的具体用法。这些代码示例主要来源于
我正在使用类似的东西: var MUSIC = React.renderComponent( Music({ }), document.getElementById("music-div")) 稍后在
在模拟器上运行 adb shell,尝试将 setProp 用于只读属性,例如 setprop ro.carrier newCarrier,但它不会改变它。 有没有办法强制覆盖 ro Prop ? 最
//in my component i have {this.props.auth.isLoadding && Is registring... } //in my test i have it
当我尝试为名称 >= 32 个字符的属性设置值时出现错误 adb shell setprop 01234567890123456789012345678901 VALUE 错误: could not
我刚刚将项目的 React 版本升级到 13.3,setProps() 不再有效。我在这个 Mocha 测试中使用它,但我不确定现在如何重写它。我有哪些选择? it('reloads search r
我尝试使用 setprop libc.debug.malloc = 1 来找出泄漏。我制作了一个演示程序并在其中引入了内存泄漏,但上面的标志无法检测到此泄漏。我尝试了以下命令:adb shell se
我正在开发一个应用程序(使用 Eclipse + Android SDK/NDK),它使用 Android 手机上的微型 USB 端口连接到外围设备。我正在尝试通过 WiFi(tcp 端口 5555)
我想了解 adb shell setprop mypropertykey mypropertyvalue 的工作原理。换句话说,我编辑了 /system/build.prop 文件,但是当我尝试使用
我正在使用 ReactJS(通过 facebook),我可以选择调用 setState 或 setProps,但不知道哪个在性能方面更有效。 (不要只看我的代码。这只是一个简化。我主要关心的是知道 s
为了在我的 Android(Kitkat)开发板上提供以太网连接,我使用 ndc 命令工具来设置 DNS 服务器 IP。一切正常,但无法使用系统属性中的 getprop 查看 DNS 服务器详细信息。
我将 GetProp()/SetProp() 与 Atom 结合使用。在 x64 下,SetProp() 的“lpString”是 64 位长。 MS 文档说:“原子必须放在 lpString 的低位
我正在尝试使用 setprop 命令更改我的 android 设备上的时区,但它没有反射(reflect)在设备上(我也尝试重新启动) shell@ASUS_Z010:/ $ getprop pers
在搜索如何调试 sqlite 时,我遇到了命令adb shell setprop log.tag.SQLiteStatements VERBOSE但它似乎没有在我的设备 运行 CyanogenMod
我有一个设置 Prop 的测试,以观察组件的一些变化。唯一的麻烦是我将呈现的元素包装在 中因为在树的下方还有一些连接的组件。 我正在渲染 const el = () => ; const wrapp
我是一名优秀的程序员,十分优秀!