2

smalltalk + TDD + 「グッドプラクティス」を試してみると、ちょっと醜いブロックに遭遇しました:

GNU Smalltalk でアサーションを行うにはどうすればよいですか?

私はちょうど単純なifFalse: [Die]種類のものを探しています

4

4 に答える 4

2

自己主張と同様に:[...いくつかのブロック]

オブジェクトに#valueを送信すると自己が返されるため、ブロックと非ブロックで機能します。

于 2009-03-20T09:39:50.303 に答える
2

これは assert: from Squeakのコードです(GNU ではなくこちらを使用することをお勧めします):

assert: aBlock 
    "Throw an assertion error if aBlock does not evaluates to true."
    aBlock value
        ifFalse: [AssertionFailure signal: 'Assertion failed']
于 2009-03-20T09:27:14.560 に答える
0

簡単です。テストメソッドでは、次のように記述します。

self assert: 1 + 1 = 2

ただし、最初に、TestCaseのサブクラス(Squeak内)としてテストクラスを作成する必要があります。次に例を示します。

TestCase subclass: #MyTest

ここでは、テストメソッドを記述します。名前は常に「test」で始まる必要があります。例:

testBasicArithmetics

self assert: 1 + 1 = 2
于 2009-03-20T09:31:50.837 に答える