ユニット
データベースと通信する統合テストを書くにはどうすればよいですか?例えば:この場合データベース照会でオブジェクトを統合テストする方法
public int GetAppLockCount(DbConnection connection)
{
string query :=
"SELECT"+CRLF+
" tl.resource_type AS ResourceType,"+CRLF+
" tl.resource_description AS ResourceName,"+CRLF+
" tl.request_session_id AS spid"+CRLF+
"FROM sys.dm_tran_locks tl"+CRLF+
"WHERE tl.resource_type = 'APPLICATION'"+CRLF+
"AND tl.resource_database_id = ("+CRLF+
" SELECT dbid"+CRLF+
" FROM master.dbo.sysprocesses"+CRLF+
" WHERE spid = @@spid)";
IRecordset rdr = Connection.Execute(query);
int nCount = 0;
while not rdr.EOF do
{
nCount := nCount+1;
rdr.Next;
}
return nCount;
}
私はこのバグのコード(IRecordset
戻り空のレコード)を追い払うしようとしています。
[UnitTest]
void TestGetLockCountShouldAlwaysSucceed();
{
DbConnection conn = GetConnectionForUnit_IMean_IntegrationTest();
GetAppLockCount(conn);
CheckTrue(True, "We should reach here, whether there are app locks or not");
}
は、今私が必要とするすべては
テストランナーが接続文字列をどこかに保存しているのでしょうか? .ini
または.xml
または.config
ファイルですか?
注:言語/フレームワークに依存しません。その点ホームを駆動するために
- C#
- デルファイ
- ADO.net
- ADO
- NUnitの
- DUnitの
:コードは意図から要素を含みます。