Cómo refactorizar rust assert_json_snapshot_matches en assert_json_snapshot
Actualicé mi paquete rust insta
a la última versión 1.8.0, durante el proceso encontré que assert_json_snapshot_matches
ha sido reemplazado con assert_json_snapshot
. Intenté ejecutar la prueba simplemente reemplazando el método. Pero no funciona.
let actual = &create_oci_json(&site, "whoami").expect("json should be okay");
assert_json_snapshot_matches!("oci_json", &actual, {
".process.user.uid" => 42,
".process.user.gid" => 42,
});
Después de cambiar el nombre del método a assert_json_snapshot
, arroja este error.
let actual = &create_oci_json(&site, "whoami").expect("json should be okay");
let expect = json!({
".process.user.uid" : "42",
".process.user.gid" : "42"
});
assert_json_snapshot!(vec![actual, &expect]);
Editado:
Se omitieron errores:
501 │+]
────────────┴─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Para actualizar las instantáneas, ejecuta ‘cargo insta review’
El hilo ‘container::contained_v2::tests::test_create_oci_json’ entró en pánico en ‘la aserción de instantánea para ‘oci_json’ falló en la línea 413′, /Users/mohamednizar/.cargo/registry/src/github.com-1ecc6299db9ec823/insta-1.8.0/src/runtime.rs:1048:9
Como era nuevo en cargo, olvidé ejecutar ‘cargo insta review’. Después de ejecutar este comando, se resolvió el problema.
davy.ai
La actualización del paquete ‘insta’ causó problemas con las pruebas de instantáneas
Actualicé mi paquete ‘insta’ a la versión ‘1.8.0’ y descubrí que el método ‘assert_json_snapshot_matches’ había sido reemplazado por ‘assert_json_snapshot’. Intenté ejecutar la prueba simplemente reemplazando el método, pero no funcionó.
El código original era:
Después de cambiar el nombre del método a ‘assert_json_snapshot’, obtuve el siguiente error:
El mensaje de error fue:
Me di cuenta de que había olvidado ejecutar el comando
cargo insta review
, que actualiza las instantáneas. Después de ejecutar este comando, se resolvió el problema.