# Tix Test your Nix is only ticks. ## Usage Make a test file: ```mytest.nix { it, ... }: [ (it "can add numbers" { actual = 2 + 2; expected = 4; }) (it "loves big brother" { actual = 2 + 2; expected = 5; }) (it "throws a party" { actual = throw "a party"; throws = true; }) ] ``` Add tix as an input to your flake, and use it to build a test output. ```flake.nix { description = "My test driven flake"; inputs = { tix.url = "git+https://git.tristans.cloud/tristan/tix"; }; outpts = {self, tix, ...}: { packages.x86_64-linux.test = tix.run [ ./mytest.nix ]; }; } ``` Then run the generated package. ```sh nix run .#test --show-trace ``` Watch for changes while you are developing your package by adding a new output. ```flake.nix tix.watch "nix run .#test | ${pkgs.fx}/bin/fx" "fx"; ``` I am piping the output into `fx` so I can navigate it easier. `"fx"` is the process name that must be killed before rerunning.