我已经通过了前两个测试,但不知道如何获得default_to_baz
test tests::bar_for_fuzz ... ok
test tests::foo_for_fizz ... ok
test tests::default_to_baz ... FAILED
我的代码是
pub fn fizz_if_foo(fizzish: &str) -> &str {
if fizzish == "fizz" {
"foo"
} else {
"bar"
}
}
失败的测试用例:
#[test]
fn default_to_baz() {
assert_eq!(fizz_if_foo("literally anything"), "baz")
}
您未通过default_to_baz
测试,我只是猜测您正在解决rustlings练习,测试主体是
#[test]
fn default_to_baz() {
assert_eq!(fizz_if_foo("literally anything"), "baz")
}
这用于测试输入字符串何时不等于"0";汽水";或者fuzz
,所以解决方案很简单,只需添加一个else
分支:
pub fn fizz_if_foo(fizzish: &str) -> &str {
if fizzish == "fizz" {
"foo"
} else if fizzish == "fuzz" {
"bar"
} else {
"baz"
}
}
或者我们可以使用match
,这是一种替代方式:
pub fn fizz_if_foo(fizzish: &str) -> &str {
match fizzish {
"fizz" => "foo",
"fuzz" => "bar",
_ => "baz",
}
}