To jest denerwujące, ponieważ zbudowałem zestawy testowe oparte na Hspec, w których kolory zachowują się normalnie. Ale w tym projekcie nie mogę uzyskać kolorów, które pojawią się, gdy uruchomię wszystkie pakiety testowe naraz.Podczas korzystania z "testu stosu" moje wyniki testów hspec nie są kolorowane.
Moja project.cabal jest skonfigurowany tak:
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
...
a następnie moje SpecMain.hs plików (identyczne) zawierają w tym:
{-# OPTIONS_GHC -F -pgmF hspec-discover #-}
Więc, kiedy biegnę stack test
wszystkie moje testy działają, ale dane wyjściowe nie są kolorowane. Jeśli uruchomię stack build --file-watch --test
, testy zostaną uruchomione, ale jeśli wystąpi jakikolwiek błąd, wszystkie dane wyjściowe będą miały kolor czerwony. Na koniec, jeśli uruchomię stack test weblog:unit
lub stack test weblog:integration
, kolory kończą się dokładnie tak, jak powinny. Nagłówki są białe, testy przejścia są zielone, testy błędów są czerwone, a testy oczekujące są żółte.
Kiedy robię aktywny rozwój, zależy mi na stack build --file-watch --test
, ale naprawdę potrzebuję kolorów, aby mieć rację.
Masz pomysł, co się dzieje, jak mogę to naprawić lub jakie dodatkowe informacje muszę podać?
Hm, nie może się powielać z wariantem, który nie używa hspec-discover i Stack 1.0.4. Biorąc to pod uwagę, której powłoki używasz? Czy próbowałeś ręcznie pokolorować dane wyjściowe za pomocą '--test-arguments" --color "'? – Zeta
To interesujące. 'stack test --test-arguments" --color "' działa. Pomoże to, ale pozostawia mnie w zdumieniu, że mój obecny projekt różni się od innych. –