Thread overview | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
August 05, 2016 unit-threaded v0.6.26 - advanced unit testing in D with new features | ||||
---|---|---|---|---|
| ||||
https://code.dlang.org/packages/unit-threaded What's new: . Mocking support. Classes, interfaces and structs can be mocked (see README.md or examples) . Shrinking support for property-based testing, but only for integrals and arrays . Bug fixes Enjoy! Atila |
August 06, 2016 Re: unit-threaded v0.6.26 - advanced unit testing in D with new features | ||||
---|---|---|---|---|
| ||||
Posted in reply to Atila Neves | On Friday, 5 August 2016 at 15:31:34 UTC, Atila Neves wrote:
> https://code.dlang.org/packages/unit-threaded
>
> What's new:
> . Mocking support. Classes, interfaces and structs can be mocked (see README.md or examples)
> . Shrinking support for property-based testing, but only for integrals and arrays
> . Bug fixes
>
> Enjoy!
>
> Atila
Thanks!
I have started using unit_threaded, and love it.
The other day, I was thinking about how to run tests optimally. Not sure if you are doing this at the moment.
For every test-run, you could record the time each individual test takes. You could then give two options for running the tests:
1) Fast tests first, to quickly see if things look ok
2) Slow tests first, trying to optimize total runtime
Test-times would have to be recorded in a file between runs in order to achieve this. Would also be nice to print the time used by each test next to the tests.
-Øivind
|
August 06, 2016 Re: unit-threaded v0.6.26 - advanced unit testing in D with new features | ||||
---|---|---|---|---|
| ||||
Posted in reply to Øivind | On Saturday, 6 August 2016 at 01:50:15 UTC, Øivind wrote:
> I have started using unit_threaded, and love it.
Most of my unittests now run in < 100ms; it is great.
Keep up the good work.
|
August 06, 2016 Re: unit-threaded v0.6.26 - advanced unit testing in D with new features | ||||
---|---|---|---|---|
| ||||
Posted in reply to Atila Neves | On Friday, 5 August 2016 at 15:31:34 UTC, Atila Neves wrote: > https://code.dlang.org/packages/unit-threaded > > What's new: > . Mocking support. Classes, interfaces and structs can be mocked (see README.md or examples) > . Shrinking support for property-based testing, but only for integrals and arrays > . Bug fixes > > Enjoy! > > Atila There is a typo in your readme >int adder(int i, int j) { return i + j; } > >@("Test adder") unittest { > adder(2 + 3).shouldEqual(5); >} > >@("Test adder fails", ShouldFail) unittest { > adder(2 + 3).shouldEqual(7); >} shouldBe (!) adder(2, 3) |
August 08, 2016 Re: unit-threaded v0.6.26 - advanced unit testing in D with new features | ||||
---|---|---|---|---|
| ||||
Posted in reply to Øivind | On Saturday, 6 August 2016 at 01:50:15 UTC, Øivind wrote:
> On Friday, 5 August 2016 at 15:31:34 UTC, Atila Neves wrote:
>> https://code.dlang.org/packages/unit-threaded
>>
>> What's new:
>> . Mocking support. Classes, interfaces and structs can be mocked (see README.md or examples)
>> . Shrinking support for property-based testing, but only for integrals and arrays
>> . Bug fixes
>>
>> Enjoy!
>>
>> Atila
>
> Thanks!
>
> I have started using unit_threaded, and love it.
>
> The other day, I was thinking about how to run tests optimally. Not sure if you are doing this at the moment.
>
> For every test-run, you could record the time each individual test takes. You could then give two options for running the tests:
> 1) Fast tests first, to quickly see if things look ok
> 2) Slow tests first, trying to optimize total runtime
>
> Test-times would have to be recorded in a file between runs in order to achieve this. Would also be nice to print the time used by each test next to the tests.
>
> -Øivind
In my case, unit tests are fast by definition. If I use unit-threaded for integration tests (which I've done), then those are in a separate package and I can just select which tests to run that way. If organising by package is too much hassle, you can tag tests now as well:
@Tags("slow") unittest { ... }
And then don't run those with the `~@slow` command-line option.
Atila
|
August 08, 2016 Re: unit-threaded v0.6.26 - advanced unit testing in D with new features | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nicholas Wilson | On Saturday, 6 August 2016 at 10:34:52 UTC, Nicholas Wilson wrote:
> On Friday, 5 August 2016 at 15:31:34 UTC, Atila Neves wrote:
>> https://code.dlang.org/packages/unit-threaded
>>
>> What's new:
>> . Mocking support. Classes, interfaces and structs can be mocked (see README.md or examples)
>> . Shrinking support for property-based testing, but only for integrals and arrays
>> . Bug fixes
>>
>> Enjoy!
>>
>> Atila
>
> There is a typo in your readme
>
>>int adder(int i, int j) { return i + j; }
>>
>>@("Test adder") unittest {
> > adder(2 + 3).shouldEqual(5);
>>}
>>
>>@("Test adder fails", ShouldFail) unittest {
>> adder(2 + 3).shouldEqual(7);
>>}
>
> shouldBe (!) adder(2, 3)
Thanks! I'll go fix it.
Atila
|
August 08, 2016 Re: unit-threaded v0.6.26 - advanced unit testing in D with new features | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nicholas Wilson | On Saturday, 6 August 2016 at 10:34:52 UTC, Nicholas Wilson wrote:
> On Friday, 5 August 2016 at 15:31:34 UTC, Atila Neves wrote:
>> https://code.dlang.org/packages/unit-threaded
>>
>> What's new:
>> . Mocking support. Classes, interfaces and structs can be mocked (see README.md or examples)
>> . Shrinking support for property-based testing, but only for integrals and arrays
>> . Bug fixes
>>
>> Enjoy!
>>
>> Atila
>
> There is a typo in your readme
>
>>int adder(int i, int j) { return i + j; }
>>
>>@("Test adder") unittest {
> > adder(2 + 3).shouldEqual(5);
>>}
>>
>>@("Test adder fails", ShouldFail) unittest {
>> adder(2 + 3).shouldEqual(7);
>>}
>
> shouldBe (!) adder(2, 3)
No, turns out it was right after all. There's a `ShouldFail` UDA on that test.
Atila
|
August 08, 2016 Re: unit-threaded v0.6.26 - advanced unit testing in D with new features | ||||
---|---|---|---|---|
| ||||
Posted in reply to Atila Neves | On 08/08/2016 08:37, Atila Neves wrote:
> On Saturday, 6 August 2016 at 10:34:52 UTC, Nicholas Wilson wrote:
>> On Friday, 5 August 2016 at 15:31:34 UTC, Atila Neves wrote:
>>> https://code.dlang.org/packages/unit-threaded
>>>
>>> What's new:
>>> . Mocking support. Classes, interfaces and structs can be mocked (see
>>> README.md or examples)
>>> . Shrinking support for property-based testing, but only for
>>> integrals and arrays
>>> . Bug fixes
>>>
>>> Enjoy!
>>>
>>> Atila
>>
>> There is a typo in your readme
>>
>>> int adder(int i, int j) { return i + j; }
>>>
>>> @("Test adder") unittest {
>> > adder(2 + 3).shouldEqual(5);
>>> }
>>>
>>> @("Test adder fails", ShouldFail) unittest {
>>> adder(2 + 3).shouldEqual(7);
>>> }
>>
>> shouldBe (!) adder(2, 3)
>
> No, turns out it was right after all. There's a `ShouldFail` UDA on that
> test.
>
> Atila
But you are passing the expression (2 + 3), rather than a tuple of arguments (2, 3)!
A...
|
August 08, 2016 Re: unit-threaded v0.6.26 - advanced unit testing in D with new features | ||||
---|---|---|---|---|
| ||||
Posted in reply to Alix Pexton | On Monday, 8 August 2016 at 08:24:48 UTC, Alix Pexton wrote:
> On 08/08/2016 08:37, Atila Neves wrote:
>> On Saturday, 6 August 2016 at 10:34:52 UTC, Nicholas Wilson wrote:
>>> On Friday, 5 August 2016 at 15:31:34 UTC, Atila Neves wrote:
>>>> [...]
>>>
>>> There is a typo in your readme
>>>
>>>> [...]
>>>
>>> shouldBe (!) adder(2, 3)
>>
>> No, turns out it was right after all. There's a `ShouldFail` UDA on that
>> test.
>>
>> Atila
>
> But you are passing the expression (2 + 3), rather than a tuple of arguments (2, 3)!
>
> A...
Ah, right, oops :$ Changing it...
Atila
|
Copyright © 1999-2021 by the D Language Foundation