How to test approximate values in Fitnesse

2019-08-15 05:43发布

问题:

I'm using Fitnesse with FitSharp to run integration tests. I'm using the RowFixture to test a table of numerical results and need to be able to test an approximate value to about 3 decimal places. How can I achieve this? I read somewhere about using ~= but this does not appear to work on tables

回答1:

Yes, the Slim Test System in FitNesse offers an approximately equals operator (~=) as you point out but I agree that it is not available in fitSharp. Two possibilities to consider:

First (though I have not had occasion to use them) fitSharp offers a variety of cell operators--see, in particular, Compare Foating Point on that list.

Second, one technique I have used is this:

That is, my Math fixture lets you specify a precision (defaulting to two places if unspecified). The code-behind for that is quite simple:

    private double DoCalculation()
    {
        . . .
        return Math.Round(_result, Precision);
    }


回答2:

Does the ~= operator do what you need? It's pretty easy to add to fitSharp.