「Seasar」(2007/12/05 (水) 23:04:30) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
#contents()
*S2Dao
**readXlsAllReplaceDb()と外部キー制約
readXlsAllReplaceDb()は、シートの逆順でテーブルの内容を削除し、シート順でデータを挿入する。&br;
Aテーブルの外部キーがBテーブルの列を指しているとする。Excelのシート順は、B,Aの並びにしないと外部キー制約となる。
&br;&br;
**setUp()・setUpXxx()で、readXlsAllReplaceDb()を呼び出すとエラーを吐く
setUp()・setUpXxx()で、readXlsAllReplaceDb()を呼び出そうとすると、DataSourceがないとエラーが出る。
org.seasar.framework.exception.EmptyRuntimeException: [ESSR0007]dataSourceはnullあるいは空であってはいけません
at org.seasar.extension.unit.S2TestCase.getDataSource(S2TestCase.java:167)
at org.seasar.extension.unit.S2TestCase.deleteTable(S2TestCase.java:453)
at org.seasar.extension.unit.S2TestCase.readXlsAllReplaceDb(S2TestCase.java:383)
at org.seasar.extension.unit.S2TestCase.readXlsAllReplaceDb(S2TestCase.java:369)
at dao.sample3.DrinkDaoTest.setUpGetAllDrinks(DrinkDaoTest.java:38)
S2FrameworkTestCaseクラス内で、次のような呼び出しになっているため。setUpAfterContainerInit()が呼ばれた時に、DataSourceが設定される。&br;
それ以前に呼びたいときは、DataSourceを設定するメソッドを自分で呼び出さないといけない。
// S2FrameworkTestCaseクラス
/**
* @see junit.framework.TestCase#runBare()
*/
public void runBare() throws Throwable {
setUpContainer();
try {
setUp();
try {
setUpForEachTestMethod();
try {
container.init();
try {
setUpAfterContainerInit();
try {
bindFields();
try {
setUpAfterBindFields();
try {
doRunTest();
} finally {
tearDownBeforeUnbindFields();
}
} finally {
unbindFields();
}
} finally {
tearDownBeforeContainerDestroy();
}
} finally {
container.destroy();
}
} finally {
tearDownForEachTestMethod();
}
} finally {
tearDown();
}
} finally {
tearDownContainer();
}
}
// S2TestCaseクラス
protected void setUpAfterContainerInit() throws Throwable {
super.setUpAfterContainerInit();
setupDataSource();
}
&br;
#contents()
*S2Dao
**readXlsAllReplaceDb()と外部キー制約
readXlsAllReplaceDb()は、シートの逆順でテーブルの内容を削除し、シート順でデータを挿入する。&br;
Aテーブルの外部キーがBテーブルの列を指しているとする。Excelのシート順は、B,Aの並びにしないと外部キー制約となる。
&br;&br;
**setUp()・setUpXxx()で、readXlsAllReplaceDb()を呼び出すとエラーを吐く
setUp()・setUpXxx()で、readXlsAllReplaceDb()を呼び出そうとすると、DataSourceがないとエラーが出る。
org.seasar.framework.exception.EmptyRuntimeException:
[ESSR0007]dataSourceはnullあるいは空であってはいけません
at org.seasar.extension.unit.S2TestCase.getDataSource(S2TestCase.java:167)
at org.seasar.extension.unit.S2TestCase.deleteTable(S2TestCase.java:453)
at org.seasar.extension.unit.S2TestCase.readXlsAllReplaceDb(S2TestCase.java:383)
at org.seasar.extension.unit.S2TestCase.readXlsAllReplaceDb(S2TestCase.java:369)
at dao.sample3.DrinkDaoTest.setUpGetAllDrinks(DrinkDaoTest.java:38)
S2FrameworkTestCaseクラス内で、次のような呼び出しになっているため。setUpAfterContainerInit()が呼ばれた時に、DataSourceが設定される。&br;
それ以前に呼びたいときは、DataSourceを設定するメソッドを自分で呼び出さないといけない。
// S2FrameworkTestCaseクラス
/**
* @see junit.framework.TestCase#runBare()
*/
public void runBare() throws Throwable {
setUpContainer();
try {
setUp();
try {
setUpForEachTestMethod();
try {
container.init();
try {
setUpAfterContainerInit();
try {
bindFields();
try {
setUpAfterBindFields();
try {
doRunTest();
} finally {
tearDownBeforeUnbindFields();
}
} finally {
unbindFields();
}
} finally {
tearDownBeforeContainerDestroy();
}
} finally {
container.destroy();
}
} finally {
tearDownForEachTestMethod();
}
} finally {
tearDown();
}
} finally {
tearDownContainer();
}
}
// S2TestCaseクラス
protected void setUpAfterContainerInit() throws Throwable {
super.setUpAfterContainerInit();
setupDataSource();
}
&br;
表示オプション
横に並べて表示:
変化行の前後のみ表示: