Questa è una cosa esasperante dal momento che ho creato suite di test basate su Hspec in cui tutti i colori si comportano normalmente. Ma su questo progetto, non riesco a far comparire i colori quando eseguo tutte le suite di test contemporaneamente.Quando si utilizza "stack test", il mio output di hspec test non è colorato
mio project.cabal è impostato in questo modo:
test-suite unit
type: exitcode-stdio-1.0
main-is: SpecMain.hs
hs-source-dirs: tests/unit
other-modules: WikiSpec
default-language: Haskell2010
ghc-options: -Wall -fno-warn-orphans -threaded
build-depends: base >=4.6
...
test-suite integration
type: exitcode-stdio-1.0
main-is: SpecMain.hs
hs-source-dirs: tests/integration, webapp
other-modules: ApiSpec
default-language: Haskell2010
ghc-options: -Wall -fno-warn-orphans -threaded
build-depends: base >=4.6
...
e poi il mio file SpecMain.hs (identici) contengono questo:
{-# OPTIONS_GHC -F -pgmF hspec-discover #-}
Così, quando corro stack test
, tutti i miei test funzionano, ma l'output non è colorato. Se corro stack build --file-watch --test
, i test vengono eseguiti, ma se c'è qualche errore allora tutto l'output è colorato in rosso. Infine, se corro stack test weblog:unit
o stack test weblog:integration
, i colori finiscono esattamente come dovrebbero essere. Le intestazioni sono bianche, i test di passaggio sono verdi, i test in errore sono rossi e i test in sospeso sono gialli.
Quando sto facendo sviluppo attivo tendo a dipendere da stack build --file-watch --test
, ma ho davvero bisogno che i colori abbiano ragione.
Qualcuno di voi ha idea di cosa sta succedendo, come posso risolvere questo problema o quali informazioni aggiuntive devo fornire?
Hm, non può riprodurre con una variante che non utilizza hspec-discover e Stack 1.0.4. Detto questo, quale shell usi? Inoltre, hai provato a colorare l'output manualmente con '--test-arguments" --color "'? – Zeta
È interessante. 'stack test --test-arguments" --color "' funziona. Questo mi aiuterà, ma mi lascia disorientato su come il mio attuale progetto sia diverso dagli altri. –