noema 0.4.0

Noema IOC and DI framework for Rust
Documentation
#![cfg(feature = "configurations")]

use futures::executor::block_on;
use noema::config::{ConfigError, Configurable, MapSource, load};

#[derive(Configurable)]
#[allow(dead_code)]
struct RequiredConfig {
    #[config(name = "MUST_EXIST")]
    value: String,
}

noema::config!(RequiredConfig);

#[test]
fn missing_required_key() {
    let err = block_on(load(MapSource::new(std::iter::empty::<(String, String)>()))).unwrap_err();
    assert!(matches!(err, ConfigError::MissingKey(k) if k == "MUST_EXIST"));
}