上下文
我有一个User对象,它是vue.js UserComponent的数据模型。装入组件后,用户将具有未定义的字段。然后在mount()方法中,从服务器获取用户并设置其所有文件。
问题
因此,我发现当用户字段更改时,vue-test-utils不会重绘组件。
注意
另一方面,如果我将对象prop更改为标量,则相同的测试效果很好。
在提取字段wrapper.setProp({user: user})
后,我尝试通过spark-submit --master yarn \
--deploy-mode cluster \
--packages org.apache.spark:spark-sql-kafka-0-10_2.11:2.4.5 \
--files s3://someBucket/resources/truststore.jks,s3://someBucket/resources/kafka.properties,s3://someBucket/resources/program.properties \
--class com.someOrg.someClass.someMain \
s3://someBucket/resources/program.jar kafka.properties program.properties
重置用户prop。不幸的是,由于vue-test-utils阻止将同一对象设置为prop,因此是不可能的。
演示回购(从正式的vue-test-utils-getting-started克隆)
https://github.com/alexey2baranov/vue-test-utils-getting-started
答案 0 :(得分:0)
当您的组件具有异步方法(如在挂载时获取用户字段)时,在测试时有两种选择:
选项1:使用异步功能进行测试并等待nextTick
选项2:使用冲洗承诺包
这两个选项在vuejs test utils documentation中都有详细示例。
此外,您可以使用一些数据模拟axios响应,以填充用户字段,而无需真正获取后端。