在 Debian Jessie 64 上使用 PostgreSQL 9.4.3。
问题.sql:
\set client_min_messages = debug
BEGIN;
SELECT * from no_plan();
SELECT Dugong.Users_Add('Sarit','thisispassword','programmer');
SELECT is(Dugong.Users_isExist('Sarit'),'t', 'Test Question_isExist() should return true' );
PREPARE A AS SELECT Username, Password, Privilege FROM Dugong.Users;
SELECT results_eq('A',$$VALUES ('sarit','thisispassword','programmer') $$,'Test wtf');
SELECT results_eq('A',$$VALUES ('Sarit','thisispassword','programmer') $$,'Test wtf');
SELECT * FROM finish();
ROLLBACK;
输出:
postgres@jaikra:/home/sarit/4alls/anemonesfish/pgtap$ pg_prove -v -d skorplusdb question.sql
question.sql ..
Sarit
ok 1 - Test Question_isExist() should return true
not ok 2 - Test wtf
# Failed test 2: "Test wtf"
# Number of columns or their types differ between the queries:
# have: (Sarit,thisispassword,programmer)
# want: (sarit,thisispassword,programmer)
not ok 3 - Test wtf
# Failed test 3: "Test wtf"
# Number of columns or their types differ between the queries
1..3
# Looks like you failed 2 tests of 3
Failed 2/3 subtests
Test Summary Report
-------------------
question.sql (Wstat: 0 Tests: 3 Failed: 2)
Failed tests: 2-3
Files=1, Tests=3, 0 wallclock secs ( 0.02 usr 0.00 sys + 0.03 cusr 0.00 csys = 0.05 CPU)
Result: FAIL
桌子:
CREATE TABLE Dugong.Users
( Username varchar(255),
Password varchar(255) NOT NULL,
Privilege varchar(255),
FirstName varchar(255),
MiddleName varchar(255),
LastName varchar(255),
StreetAddr varchar(255),
Subdistrict varchar(255),
District varchar(255),
Province varchar(255),
Country varchar(255),
Zipcode varchar(255),
Email varchar(255),
PhoneCountryCode varchar(10),
PhoneAreaCode varchar(255),
PhoneNum varchar(255),
FaxCountryCode varchar(255),
FaxAreaCode varchar(255),
FaxNum varchar(255),
LastModified timestamp with time zone default current_timestamp,
PRIMARY KEY(UserName)
);
更新
目标:测试我的 Users_Add 功能。它是否包含我给出的所有值。
期望:表用户有 1 条记录,有 3 个值。
我的尝试:
第二个错误。它向我展示了 3 列。这是一个很好的回应。因为我故意弄错了。所以在不久的将来,我会让它成为一个正确的。
但是,第三个错误很奇怪。我复制并更改第二个大小写为我想要的,让它在'S'上是大写的。然后准备好的查询有 3 列,我检查 3 个值。
我有另一个重载函数,可以插入所有 20 列。现在我只想要 3 个。得到错误后我回到文档。
请参阅文档错误,它说查询和值具有不同的列数。但这不是我的情况。
问题:我的查询有 3 列,我pgtap
只检查 3 列,但第三种情况提出我让它检查不相等的列大小的记录。
有关我的安装的任何信息,请询问。我会尽快将它们提供给您。