【发布时间】:2012-04-03 17:52:47
【问题描述】:
我有一个有 15 个成员的实体。有各种类型的成员应用了各种规则,有些允许空值,有些则不允许。这是数据库实体:
tbl_items(
item_id bigint identity(1,1) not null primary key,
item_category bigint null foreign key references tbl_categories(category_id) on delete set null,
item_model nvarchar(50) not null,
item_brand nvarchar(50) not null,
item_color nvarchar(20) not null,
item_made_in nvarchar(20) null,
item_desc nvarchar(100) null,
item_price decimal not null,
item_image varbinary(max) null,
item_monetary_unit nvarchar(10) not null,
item_rating int null,
item_date datetime not null,
item_quantity int not null
)
对数据条目可能具有的所有状态进行单元测试将使我的单元测试类 (ItemTest) 拥有超过 1000 行代码。那么我需要为每个数据状态写一个测试方法吗?还是我应该只考虑编写测试方法的无效状态?就像在属性不可为空时设置为空一样。
【问题讨论】:
-
当您说“对所有状态进行单元测试”时,您的意思是什么?要测试的显而易见的事情是向表提供随机值以查看它是否保持水。 PK 和 FK 测试同样重要。更清楚您的问题将有助于我们更好地理解它。
-
id 可能是空字符串、字符串、负数、零、大于 bigint 大小。你应该为这些状态中的每一个编写测试方法吗?
标签: sql database unit-testing testing entity