2009-06-25 11 views
39

मैं एक Haskell परियोजना और कबाल पैकेज-वर्णन है कि मुझे का निर्माण औरमैं कैबल के साथ एक सरल परीक्षण कैसे स्थापित कर सकता हूं?

$ cabal configure 
$ cabal build 
$ cabal install

लेकिन cabal test के बारे में क्या के साथ अपने पैकेज स्थापित करने की अनुमति देता है? कैबल की मदद उपयोगकर्ता हुक के साथ एक परीक्षण सूट को कॉन्फ़िगर करने के लिए कहती है, लेकिन मैं यह कैसे कर सकता हूं?

उत्तर

27

डंकन ग्रेग के जवाब में उल्लेख किया है, कबाल-1.10 परीक्षण स्वीट बॉक्स से बाहर के लिए समर्थन हासिल है।

manual में सबसे अच्छी जानकारी है जो मुझे इसका उपयोग करने के तरीके के बारे में मिली है।

foo.cabal

Name:   foo 
Version:  1.0 
License:  BSD3 
Cabal-Version: >= 1.9.2 
Build-Type:  Simple 

Test-Suite test-foo 
    type:  exitcode-stdio-1.0 
    main-is: test-foo.hs 
    build-depends: base 

परीक्षण foo.hs:

module Main where 

import System.Exit (exitFailure) 

main = do 
    putStrLn "This test always fails!" 
    exitFailure 
+0

हम्म, मैनुअल में एक टाइपो की तरह दिखता है। क्या इसे 'कैबल-वर्जन:> = 1.10' नहीं पढ़ना चाहिए? या पहले कैबल्स हानिरहित रूप से इसे अनदेखा करेंगे? –

+0

एर, कभी नहीं, यह मैन्युअल में ठीक कहता है: "परीक्षण सूट अनुभागों का उपयोग कम से कम कैबल संस्करण 1.9.2" –

+3

नोट करें कि परीक्षण सूट की निर्भरताओं * स्थापित * के लिए, आपको 'कैबल इंस्टॉल - सक्षम करें-tests'। फिर आप अपने परीक्षण चलाने के लिए 'कैबल टेस्ट' चला सकते हैं। –

10

एक दृष्टिकोण के लिए, Setting up a simple test with Cabal देखें।

इस दृष्टिकोण में कमी है, और open Cabal ticket है जो परीक्षणों को अधिक सीधे निर्दिष्ट करने में सक्षम होने का सुझाव देता है, उदा।,

test 
    test-is: Test 
    build-depends: QuickCheck 
    hs-source-dirs: tests src 
+7

यहाँ पुस्तिका से पता चलता है जो exitcode-stdio परीक्षण प्रकार का उपयोग करने के लिए कैसे से एक टुकड़ा है यह सुविधा Cabal-1.10 –

+0

@ डंकन में होगी महान समाचार और बढ़िया है कि आप con यहाँ योगदान! –

संबंधित मुद्दे

 संबंधित मुद्दे