Ich habe eine kleine Mathe-Bibliothek mit einer Verzeichnisstruktur erstelltUnit-Tests mit Rust
mathslib ->src
->lib.rs
-> Wandlungen/stats/trig/Basen
Alle Module sind deklariert als pub
und die Funktionen auch als pub
.
Ich habe den folgenden Test für nur eine Funktion geschrieben, aber wenn ich cargo test
ausführen, bin ich mit einem Fehler konfrontiert, dass die Funktion nicht gelöst werden kann (E0425).
extern crate MathsLib;
use MathsLib::Conversions::Temperature;
#[cfg(test)]
mod TemperatureTests {
#[test]
fn test_kelvin_to_celcius_pass() {
let calc = kelvin_to_celcius(14.5);
assert_eq!(calc.0, true);
}
#[test]
#[should_panic(expected = "assertion failed")]
fn test_kelvin_to_celcius_fail() {
let calc = kelvin_to_celcius(-4f32);
assert_eq!(calc.0,true);
}
}
Von was ich aus der Dokumentation sehen kann, sollte dies in Ordnung sein - aber es ist offensichtlich nicht.
Die fragliche Funktion sieht wie folgt aus
pub fn kelvin_to_celcius(k: f32) -> (bool, f32)
{
if k < 0f32
{
return (false, k);
}
else
{
return (true, k - 273.15);
}
}
Können Sie bitte ein vollständiges Beispiel einschließlich der tatsächlichen Fehlermeldung enthalten? –