Crate elif_testing

Source
Expand description

§elif-testing - Comprehensive Testing Framework

A powerful testing framework designed specifically for elif.rs applications, providing utilities for database testing, HTTP testing, factory-based test data generation, and seamless integration with standard Rust test runners.

§Features

  • Database Testing: Automatic test database management with transactions
  • HTTP Testing: Fluent test client with comprehensive assertions
  • Factory System: Type-safe test data generation with relationships
  • Authentication Testing: Built-in support for JWT and session testing
  • Performance Testing: Load testing and benchmarking utilities
  • Rust Integration: Seamless integration with cargo test

§Quick Start

use elif_testing::prelude::*;

#[test]
fn test_utilities() {
    // Generate test data
    let test_email = utils::random_email();
    let test_id = utils::test_uuid();
    let timestamp = utils::test_timestamp();
     
    // Use utilities
    assert!(test_email.contains("@example.com"));
    assert!(!test_id.to_string().is_empty());
    assert!(!timestamp.to_rfc3339().is_empty());
}

Re-exports§

pub use database::TestDatabase;
pub use database::DatabaseTransaction;
pub use client::TestClient;
pub use client::TestResponse;
pub use factories::Factory;
pub use factories::FactoryBuilder;
pub use assertions::TestAssertions;

Modules§

assertions
Test assertion utilities and helpers
auth
Authentication testing utilities
client
HTTP testing client and response utilities
database
Database testing utilities
factories
Factory system for test data generation
performance
Performance testing utilities
prelude
Prelude module for convenient imports
utils
Test utilities and helper functions

Macros§

assert_all
assert_any
assert_contains
assert_database_count
assert_database_has
Macro for easy database assertions (would be in a separate macro crate)
assert_empty
assert_in_range
assert_json_contains
assert_json_eq
Macros for common assertions
assert_length
assert_matches
assert_not_empty
assert_time_close

Enums§

TestError

Type Aliases§

TestResult