我知道我如何使用这些术语,但我想知道是否有单独测试的伪造,模拟和存根的可接受定义?你如何为你的测试定义这些?描述您可能使用每种情况的情况.
以下是我如何使用它们:
假:一个实现接口但包含固定数据而没有逻辑的类.根据实施情况,简单地返回"好"或"坏"数据.
Mock:一个实现接口的类,允许动态设置值以返回/异常从特定方法抛出,并提供检查是否已调用/未调用特定方法的功能.
存根:类似于模拟类,但它不提供验证方法是否已被调用/未调用的能力.
模拟和存根可以由模拟框架手动生成或生成.伪造的类是手工生成的.我主要使用模拟来验证我的类和依赖类之间的交互.一旦我验证了交互并且正在通过我的代码测试备用路径,我就会使用存根.我主要使用假类来抽象出数据依赖性,或者每次使用模拟/存根都太繁琐.
使用右键单击"脚本为"菜单创建查询时,SQL Server Management Studio始终插入GO命令.为什么?GO实际上做了什么?
我可以使用哪些工具或技术来删除缓存的文件内容,以防止我的性能结果出现偏差?我相信我需要完全清除或有选择地删除有关文件和目录内容的缓存信息.
我正在开发的应用程序是一个专门的压缩实用程序,并且预计会做很多工作来读取和编写操作系统最近没有触及的文件,并且其磁盘块不太可能被缓存.
当我重复分析执行文件处理工作的不同策略的任务时,我希望消除IO时间中看到的可变性.
我主要对Windows XP的解决方案感兴趣,因为那是我的主要开发机器,但我也可以使用linux进行测试,所以我也对这个环境的答案感兴趣.
我尝试了SysInternals CacheSet,但是在重新读取我刚读过几次的文件时,单击"清除"不会导致可测量的增加(在冷启动后恢复到计时).
这真的很奇怪,我不明白为什么会这样.在foreach循环中,我正在迭代A类集合,并且对于每个类,我调用Count()
方法,其中r1
和r2
数字是从范围[-1,1]生成的.问题是 Random.Next
为每个实例返回相同的"随机"数字.当第一个实例的结果为0和-1时,将从以下实例返回相同的结果.拜托,你能告诉我为什么会这样吗?另外,我在每个A类实例中都得不到不同的结果.这是代码:
class a
{
Random rnd = new Random();
private void Count()
{
int r1 = rnd.Next(-1, 1);
int r2 = rnd.Next(-1, 1);
}
}
class b
{
List<a> listofA=new list<a>();
foreach (a ACLASS in listofA)
{
ACLASS.Count();
}
}
Run Code Online (Sandbox Code Playgroud) 对我来说这是一个长期存在的问题,我从未真正解决过,所以我想要你的意见.如果我知道用户因权限或对象状态不足而无法执行的操作,那么这些操作的UI元素是否应对用户隐藏,可见但已禁用或可见,如果尝试会导致错误?你答案的理由是什么?如果禁用,您会告知原因,如果是,如何?
这是一个Web界面,所以我已经知道我需要检查传入的帖子/获取权限并在那里处理错误.我主要谈论如何处理UI.
这与关于禁用或隐藏菜单项的规则类似,但我对所有类型的UI元素感兴趣,而不仅仅是菜单.
例子:
我有一个新页面,允许用户创建一个新的事件.事件可以是主事件或子事件.创建主事件需要"EditMasterEvent"特权,而创建子事件只需要"EditEvent"特权.我有一个下拉列表,允许选择现有事件作为父事件(主事件)或没有父事件(这是一个主事件).如果用户仅具有"EditEvent"权限,那么"创建主事件"选项是否应显示在下拉列表中或省略.
删除事件要求您是应用程序管理员或具有事件类型的相应编辑权限.在后一种情况下,该活动也必须超过5年.删除事件会导致系统中相关数据的主要级联删除,并且出于法律原因,此数据必须在事件发生后保留至少5年.由于此操作对于普通用户来说很少见,因此典型情况是该操作不可用.是应该一直显示还是仅在实际可能时显示?
我试图发送一个看起来像这样的jquery ajax PUT请求:
$.ajax({
type: "PUT",
url: '/admin/pages/1.json',
data: { page : {...} },
dataType: 'json',
success: function(msg) {
alert( "Data Saved: " + msg );
}
});
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
The error occurred while evaluating nil.name
/Library/Ruby/Gems/1.8/gems/activesupport-2.3.2/lib/active_support/xml_mini/rexml.rb:29:in `merge_element!'
/Library/Ruby/Gems/1.8/gems/activesupport-2.3.2/lib/active_support/xml_mini/rexml.rb:18:in `parse'
(__DELEGATION__):2:in `__send__'
(__DELEGATION__):2:in `parse'
/Library/Ruby/Gems/1.8/gems/activesupport-2.3.2/lib/active_support/core_ext/hash/conversions.rb:154:in `from_xml' ... ...
Run Code Online (Sandbox Code Playgroud)
就像Rails试图将params解析为XML,但我想使用JSON !!
如何将JSON放入rails?
需要一个正则表达式来,
从变量中获取(不包括它)之后的所有字符.例如,此变量可以包含
'SELECT___100E___7',24
'SELECT___100E___7',1
'SELECT___100E___7',286
'SELECT___100E___7',5147
Run Code Online (Sandbox Code Playgroud)
注意:,
此变量后面可以有任意长度的字符.
正则表达式的解释将为新手增加帮助:)
编辑:一个javascript答案也一样好
我想开始讨论使用jQuery调整图像大小.
这是我的贡献:但我认为我远离解决方案.种植怎么样?谁能帮我?
$(document).ready(function() {
$('.story-small img').each(function() {
var maxWidth = 100; // Max width for the image
var maxHeight = 100; // Max height for the image
var ratio = 0; // Used for aspect ratio
var width = $(this).width(); // Current image width
var height = $(this).height(); // Current image height
// Check if the current width is larger than the max
if(width > maxWidth){
ratio = maxWidth / width; // get ratio for scaling image
$(this).css("width", maxWidth); // …
Run Code Online (Sandbox Code Playgroud) jquery ×2
ajax ×1
c# ×1
caching ×1
crud ×1
definition ×1
disk ×1
file ×1
frameworks ×1
image ×1
javascript ×1
json ×1
math ×1
mocking ×1
performance ×1
random ×1
reflection ×1
regex ×1
scaffolding ×1
sql-server ×1
ssms ×1
stub ×1
t-sql ×1
terminology ×1
unit-testing ×1