0

I am trying to create an Assert.AreEqual query that determines that the records in a given table do, in fact, contain >= 1 (row/record)

I know the query will look something along the times of:

Assert.AreEqual(context.Count().Ticket_Number >= 1);

or

Assert.AreEqual(context[row].Ticket_Number.Count() >= 1);

This query returns 10,000 + rows:

SELECT [Ticket_Number] FROM dbo.SRS_Ticket_LifeCycle_Stage

It is the query I want to ensure has more than 1 record (For a test right after it that is expecting a return of nothing).

I do not know how to specifically target the rows with these statements any help is appreciated.

4

4 に答える 4

1

あなたが望むのは、カウントを取得するための次のようなものだと思います(次に、結果を変数に保存してコードをきれいにします):

SELECT COUNT([Ticket_Number]) FROM dbo.SRS_Ticket_LifeCycle_Stage

を使用して結果をテストします

Assert.IsTrue(resultFromSqlQuery >= 1);
于 2013-11-12T16:18:04.970 に答える
1

比較をテストしようとしている場合は、実際に等しいかどうかをテストしていないため、Assert.IsTrue代わりに使用したい場合があります。AreEqualレコード数を recordCount という名前の別の変数に取得できると仮定しましょう。

Assert.IsTrue (recordCount >= 1);
于 2013-11-12T16:18:18.237 に答える
0

一般に、何かのレコードが複数あるかどうかを判断する SQL の方法は、次のEXISTSキーワードを使用することです。

IF EXISTS(SELECT [Ticket_Number] FROM dbo.SRS_Ticket_LifeCycle_Stage)
   -- do something

COUNTまたは、レコード数を取得するために使用できます。

SELECT COUNT([Ticket_Number]) FROM dbo.SRS_Ticket_LifeCycle_Stage
于 2013-11-12T16:14:46.837 に答える