#[macro_use] extern crate pretty_assertions; #[macro_use] extern crate derive_builder; #[derive(Debug, PartialEq, Default, Builder, Clone)] struct Lorem<'a> { ipsum: &'a str, } #[test] fn error_if_uninitialized() { let error = LoremBuilder::default().build().unwrap_err(); assert_eq!(&error.to_string(), "`ipsum` must be initialized"); } #[test] fn builder_test() { let x = LoremBuilder::default().ipsum("ipsum").build().unwrap(); assert_eq!(x, Lorem { ipsum: "ipsum" }); }