ConstraintFixture는 CalculateFixtre의 변형 입니다. (see CalculateFixture) 이 ConstraintFixture는 각 calculation에 대한 true 값을 기대합니다.
Table Format
테이블의 첫번째 row는 fixture class 이름입니다. 그 다음 두번째 row에는 input parameter의 이름이 들어갑니다. 그 다음에 오는 모든 줄에는 input parameter의 값들을 넣구요.
!|ConstraintFixtureTest|
|firstPart|secondPart|
|1|2|
|2|3|
Fixture class
이 fixture class는 fitlibrary.ConstraintFixture를 extend 합니다. 여기에는 모든 파라미터 이름들로부터 나온 boolean method를 정의해야 합니다. (아래 예제의 경우에는 firstPartSecondPart이 됩니다.)
Java Source Code
package info.fitnesse.fixturegallery;
import fitlibrary.ConstraintFixture;
public class ConstraintFixtureTest extends ConstraintFixture{
public boolean firstPartSecondPart(int firstPart,int secondPart){
return firstPart<secondPart;
}
}
.NET Source Code
using fitlibrary;
using System;
namespace info.fitnesse.fixturegallery
{
public class ConstraintFixtureTest: ConstraintFixture
{
public bool FirstPartSecondPart(int firstPart,int secondPart)
{
return firstPart<secondPart;
}
}
}
Python Source Code
# PYTHON: info.fitnesse.fixturegallery.CombinationFixtureTest
from fitLib.ConstraintFixture import ConstraintFixture
class ConstraintFixtureTest(ConstraintFixture):
_typeDict = {}
# PY3K: firstPartSecondPart(firstPart : int, secondPart : int) : bool
_typeDict["firstPartSecondPart.types"] = [ "Boolean", "Int", "Int" ]
def firstPartSecondPart(self, firstPart, secondPart):
return firstPart < secondPart
SetFixture
SetFixture는 한가지만 빼고는 ArrayFixture와 같습니다. (see ArrayFixture) 다른점은 row의 순서가 체크되지 않는다는 겁니다.
Notes
자바 flow mode 에서는 flow fixture method에서 return 된 set들이 자동적으로 SetFixture에 매핑됩니다.
Usage
자바에서는 JavaBean object를 사용할 때 RowFixture 대신에 SetFixture를 사용하세요. 왜냐하면 이 fixture가 JavaBeans getter에 대해 정확하게 기능을 제공하거든요. element들의 순서가 그렇게 중요하지 않을 때는 이 SetFixture를 ArrayFixture 대신에 사용하셔도 됩니다.
SubsetFixture
SubsetFixture는 SetFixture의 변형입니다. (see SetFixture) fixture table에 있는 row가 실제 row들의 subset이 될 수 있다는 부분 만 다릅니다.
Usage
잔여 element들을 무시하기를 원하신다면 RowFixture와 SetFixture 대신에 이 SubsetFixture를 사용하세요. (예를 들어 같은 데이터베이스 테이블안에 있는 다른 row들은 상관하지 않고 데이터베이스의 어떤 row들의 존재를 체크하고 싶은 경우 등을 들 수 있습니다.)
'TDD Project' 카테고리의 다른 글
JUnit 4 와 TestNG 비교하기 (0) | 2013.11.03 |
---|---|
TestNG Tutorial 정리 02 (0) | 2013.11.01 |
TestNG Tutorial 정리 01 (0) | 2013.11.01 |
java memo 두 날짜 사이 일 수 구하기 (0) | 2013.09.05 |
Hannah Anderson Dismisses Critics, Explains Relationship with James DiMaggio (0) | 2013.08.22 |
CombinationFixture Tutorial - FitLibrary - (0) | 2013.08.22 |
ArrayFixture Tutorial - FitLibrary - (0) | 2013.08.21 |
SequenceFixture Tutorial - FitLibrary - (0) | 2013.08.21 |
DoFixture Tutorial - FitLibrary - (0) | 2013.08.17 |
CalculateFixture Tutorials - FitLibrary - (0) | 2013.08.17 |