Skip to content

Testing an Application

Before you upload and deploy your Applications, you can test it locally. Testing lets you confirm that your app responds correctly to input data, produces the right outputs, and handles edge cases in a safe environment with no live assets affected.

There are two approaches, and they serve different purposes.


Manual testing with CLI tools

The Kelvin CLI includes three test tools that run alongside your app in two terminals. The tool delivers data to your app in real time, and you watch the logs to see what your app does.

No test code required. This is the fastest way to get your app receiving data during active development.

Choose your tool:

  • Simulator — generates random values within a range you set
  • CSV File — replays rows from a recorded CSV file
  • Custom Generator — runs a Python class you write that produces any message type

Automated testing with KelvinAppTest

KelvinAppTest is a testing harness built into the Kelvin SDK. You write Python test functions, inject data, advance a virtual clock, collect your app's outputs, and assert on the results in code. Run everything with a single pytest command.

Start here: Test Harness & Setup, then choose how to feed your test:


Which approach to use

Manual testing Automated testing
Setup Just the CLI pytest + a test file
Timer-based logic Wait in real time Virtual clock fires instantly
Checking outputs Read the logs yourself Python assertions in code
Repeatable results Varies with random data Deterministic with a fixed seed
CI integration No Yes — exit code reflects pass or fail
Best for Active development and demos Regression testing and CI pipelines