调试
在单元测试中,开发者可能需要了解如何在测试失败时进行调试。这有助于解决难以调试的意外失败。 通常,开发者希望在测试的不同地方打印出不同的值,以便更好地了解发生了什么。在 Move 中,你也可以这样做:
#[test]
fun test_my_function() {
let a = 1;
let b = 2;
std::debug::print(&a);
std::debug::print(&b);
assert(a == b, 101);
}
std::debug::print
接受对任何值的引用并打印它们。请注意,要打印字符串字面量,你需要执行以下操作:
std::debug::print(&std::ascii::string(b"Hello, world!"));
std::debug::print
也可以打印整个结构体:
public struct MyStruct {
a: u64,
b: u64,
}
#[test]
fun test_my_function() {
let my_struct = MyStruct { a: 1, b: 2 };
std::debug::print(&my_struct);
}