vue-test-utils不会跟踪对象道具吗?

时间:2020-07-04 14:17:17

标签: vue.js vue-test-utils

上下文

我有一个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

1 个答案:

答案 0 :(得分:0)

当您的组件具有异步方法(如在挂载时获取用户字段)时,在测试时有两种选择:

选项1:使用异步功能进行测试并等待nextTick
选项2:使用冲洗承诺包

这两个选项在vuejs test utils documentation中都有详细示例。

此外,您可以使用一些数据模拟axios响应,以填充用户字段,而无需真正获取后端。