Muitas vezes desejamos compilar e executar testes de unidade para a plataforma Windows. No entanto, reiniciar sua máquina e dar boot no Windows só para testar fica meio na contramão.
Uma alternativa é instalar o MinGW e o Wine, para podermos compilar e para executar os testes de unidade plataforma Windows, sem sair do conforto do Linux.
Para instalar o MinGW e o Wine:
# MinGW - Windows 32-bit: sudo apt install gcc-mingw-w64-i686 g++-mingw-w64-i686 # MinGW - Windows 64-bit: sudo apt install gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 # Wine sudo apt install wine
Para compilar para a plataforma Windows usamos os compiladores MinGW para C ou C++, para 32-bit ou 64-bit.
Compilador | Windows 32-bit | Windows 64-bit |
C (GCC) | i686-w64-mingw32-gcc | x86_64-w64-mingw32-gcc |
C++ (G++) | i686-w64-mingw32-g++ | x86_64-w64-mingw32-g++ |
Por exemplo, para compilar os arquivos test_unit.c
e unit.c
e para Windows 32-bit usamos:
i686-w64-mingw32-gcc test_unit.c unit.c -o test.exe
Então, para rodar o executável no próprio Linux, através o Wine, usamos:
wine test.exe
Conclusão
Podemos executar testes de unidade da plataforma Windows (32-bit ou 64-bit), sem sair do Linux, usando o Wine.
Para rodar um executável qualquer com o Wine, no entanto, pode ser necessário fornecer DLLs (bibliotecas). Porém, a princípio, um teste de unidade não deve depender de nada externo, pois todas as dependências devem ser fakes (falsos) ou mocks (imitadores) e, portanto, não deveria cair neste problema.
Se o seu teste PRECISA de alguma DLL, ele provavelmente ele se encaixa melhor no grupo de testes de integração, não de testes de unidade.