On 12/12/21 12:54 AM, Chris Katko wrote:
Running 64-bit Linux
```
dmd --version
DMD64 D Compiler v2.098.0-beta.2

dub --version
DUB version 1.27.0-beta.2, built on SepĀ  7 2021
```

the following code 'compiles' in one project.

```d
unittest
{
gasdindgaslkdgansklnasgdlknaglkgansklsdg;
}

void main(){} // compiles, links, and 'runs unit tests'
```

dub
[shows compiling, linking, then runs]

dub test

```
Running dfile-test-library
All unit tests have been run successfully.
```


`dub test` adds its own main file, and removes yours. So essentially, it's not building your app.d file at all.

`dub test` is a utility used to test libraries, which typically do not have a main function. It's definitely suspect for dub to do this, and it's based on historical baggage.

To test an application with dub, use `dub -b unittest`, which builds the application the same as always, just with the `-unittest` switch.

-Steve

Reply via email to