x 单元
- 0.
使测试案例完全平行成为明确的选择。
这是有用的,但xUnit 4平行模式。
所有改变在许多套房中一个安静的假设:同一类的测试,包括一个理论的分行,现在可能重叠.
静态假的,共享固定的,临时的档案,或数据库记录,在收藏级平行主义下是安全的,可以成为种族.
我把这当作一个孤立的改变,而不是一个速度开关。
在让它跨出一个套房之前 我要一个能证明风险的决定性失败 以及每个护栏的决定性检查 4号单元平行模式 所有更改 xUnit.net v3 4.0.0放出注释将完全的试案平行化描述为一个新的特征.
默认仍然是 .
因此升级不会默默地启用更广泛的模式.
我必须在组装层面选择: 与...
每个测试案例都有资格 和其他测试案例一起运行 包括同级的2个病例和同理论的2个预构行.
官方平行测试执行指南记录了模式,算法,以及可用的选择退出范围.
我把样本放进去了 所以日程安排条件很容易检查 这是一个演示环境,不是对CI的建议。
正确的值取决于可用的CPU,内存,以及测试所触及的外部系统.
在改变模式之前,我扫描可变字段,以及执行,固定文件名,环境可变变化,测试连接到固定端口的服务器,以及共享ID处理的记录.
我还检查了线条可以变异的物体的理论数据源.
该清单告诉我,资源是应该成为货币安全、获得每个测试的独特身份,还是应该保持明确的退出。
在广泛的CI失败将几个种族混为一谈之前,作出这种选择要容易得多。
重现一个丢失的更新而无需停止监视 周围构建的只计时测试可以通过错误的原因.
我更喜欢协调原始人 强迫我需要观察的离间。
不安全的样本在两个理论行对一个静态计数器.
两行在两行都可以写之前都读过,两行在两行都写完之前都声称: 两行都观察着, 障碍使得丢失的更新可以重复;繁忙的机器不必在排程上获得幸运.
超时让一个破损的配置无法永远挂起.
这个测试是故意红色的。
我把它保存在一个单独的项目中 所以故障是验证员提出的证据 而不是在被监视的套房里永远失败的测试 保持平行测试的安全性,并缩小选择范围 如果共享状态是为了支持并行访问,我让操作原子: 这对于一个计数器是适当的,但锁或同时收集可能更适合化合物的变异体。
线索安全本身也不提供测试隔离.
两个测试可以正确地更新一个数据结构,并且仍然互相观察对方的逻辑数据.
当测试拥有专属资源时,xUnit 4提供定向选择退出.
一个其行不得相重叠的理论可以宣布:我不希望核查者仅仅因为两行碰巧相继运行而相信这个属性.
样本牵引请求包括一个控制配置,在不 .
两道屏障迫使两道控制行都尝试一次租借,然后才能解除.
完全一行失败。
一般放行会恢复出出行,两行都通过.
样本标注在并选择 .
官方微软测试平台设置指南涵盖了跑道集成.
恢复后,验证不使用证书或远程服务.
当无法实现完全平行化时,我会保留默认值,而一个套件则严重依赖于共享的数据库,固定端口,全过程环境变量,静态模拟或再利用的文件路径.
选择其他测试 增加复杂度