Testing utilities for the task-engine library.
import "github.com/ndizazzo/task-engine/testing/mocks"
mockManager := mocks.NewEnhancedTaskManagerMock()
mockRunner := &mocks.MockCommandRunner{}import "github.com/ndizazzo/task-engine/testing"
tm := testing.NewTestableTaskManager(logger)
// Set hooks
tm.SetTaskAddedHook(func(task *task_engine.Task) {
// Custom logic
})
// Override results
tm.OverrideTaskResult("task1", "expected result")tester := testing.NewPerformanceTester(taskManager, logger)
// Run benchmarks
metrics := tester.BenchmarkTaskExecution(ctx, task, 100, 5)
// Load test
loadMetrics := tester.LoadTest(ctx, task, 1000, 10, time.Minute)- Mocks: Complete mock implementations for all interfaces
- Testable Manager: Enhanced TaskManager with testing hooks
- Performance Testing: Built-in benchmarking and load testing
- Test Data: Sample files and fixtures
- Use
TestableTaskManagerfor integration tests - Use mocks for unit tests
- Clean up test data between tests
- Set hooks early in test setup
See individual test files for complete examples.