Prometheus is not an event database. If you want to show the results of individual tests (or the duration of individual tests) then this isn't the tool for you. Use a normal SQL database, or a noSQL like ElasticSearch, InfluxDB etc.
Prometheus is a metric database, so if you want to show the *number* or *rate* of tests (or test failures/successes) then it will do a good job. To do that, you should expose a counter of the number of test runs/passes/failures, or an accumulated total of the test run times, or a histogram of test run times.
Then it doesn't matter how often it's scraped: the data is always correct. The graph can show how many tests ran in a certain amount of time by looking at how the counter has changed over that time. If you have a histogram you can also answer questions like "what percentage of tests completed in under 5 seconds". But you are still thinking about tests in the aggregate, not as individual events.
Resetting the data on a scrape is not a good idea, because it breaks as soon as two prometheus servers scrape the same endpoint - e.g. a high-availability pair, or a laptop scraping the data to test a new collector.
You mention pushgateway. That's rarely the right solution for any application. You could use it here, if the only thing you care about is the result and/or timestamp of the *last* test that was run. To accumulate counters or totals between test runs, have a look at statsd_exporter instead.