我正在为MVC 5互联网应用程序编写一些单元测试.
我应该在Assert
代码行中对预期值进行硬编码,还是在输入值发生变化之前从输入值中计算出该值.
这是一个例子:
我有一个函数从对象有a 和a 的Account
对象中减去正确的平衡.Account
subscriptionCostPerDay
accountBalance
这是代码:
account1.subscriptionCostPerDay = 0.99M;
account1.accountBalance = 10;
Run Code Online (Sandbox Code Playgroud)
我正在测试的函数计算subscriptionCostPerDay
并从中减去它accountBalance
.在上面的例子中,accountBalance
函数调用后应该是9.01.
该Assert
语句应该硬编码9.01的值,还是应该从原始对象值计算预期值?
以下是我在上面提到的两种不同类型的示例:
1.
Assert.AreEqual(9.01M, account1Balance, "Account 1 has correct account balance");
Run Code Online (Sandbox Code Playgroud)
2.
decimal expectedAccount1Balance = account1.accountBalance - account1.subscriptionCostPerDay;
Assert.AreEqual(expectedAccount1Balance, account1Balance, "Account 1 has correct account balance");
Run Code Online (Sandbox Code Playgroud)
提前致谢.
function icPageInit()
{
$("icImgDiv" + icAlternate()).setOpacity(0);
return true;
}
window.onload = icPageInit;
Run Code Online (Sandbox Code Playgroud)
这段Javascript代码在Firefox和Chrome中运行良好,但在Internet Explorer 8中出现错误"Object Expected"失败.IE8表示错误发生在上面代码的第3行.
有谁知道为什么会这样,和/或如何让它工作?
javascript internet-explorer object-expected prototypejs internet-explorer-8
以下代码行导致IE中出现"JScript对象预期"错误:
hideElements.apply(window, elements);
Run Code Online (Sandbox Code Playgroud)
根据IE,'预期的JScript对象'是指hideElements
,它是一个将任意数量的HTML对象作为参数并隐藏它们的函数.
具体来说,我通过调用来检索HTML对象的数组getElementsByTagName
,并且我希望将此数组作为函数的参数列表传递hideElements
.apply()
在这种情况下,JS函数正是我所需要的.我知道我肯定会以不同的方式编写我的代码,但由于这在Firefox和Chrome上完美运行,并且在技术上是正确的,我真的很想知道为什么IE卡在那里.
我确定,当执行该行时:
window
不是null和类型Window
;elements
不是null和类型HTMLCollection
; 和hideElements
是一个功能齐全的JS函数(它可以完全独立运行,并且在执行上面的代码时完全加载).我在使用jquery命令加载页面时遇到IE8抛出"对象预期"错误的问题$(document).ready()
.我已经浏览了所有其他帖子,我可以在这里找到SO,并且没有一个解决方案似乎有效.
要进行故障排除,我创建了以下html,它在Firefox和Chrome中运行良好,但在该$(document).ready
行产生"对象预期"错误.至今:
<head>
(我已将其包含在正文中以重新创建我正在开发的网站上的情况)jQuery(document)
而不是$
- 相同的结果var $j=jQuery.noConflict();
并且包括$j(document)
在$j
声明中获得'jQuery is undefined'错误.我错过了什么?任何帮助表示赞赏!谢谢!
<html>
<head>
<script type="application/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js"></script>
</head>
<body>
<script type="text/javascript">
$(document).ready(function(){
alert("WORKING!");
});
</script>
<div id="test">
</div>
</body></html>
Run Code Online (Sandbox Code Playgroud) 我正在尝试调试此错误,但它没有给我足够的信息,我想出来了吗?还是???
网页错误详情
用户代理:Mozilla/4.0(兼容; MSIE 8.0; Windows NT 6.0; Trident/4.0; GTB6; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C)时间戳:2011年6月3日星期五20:53:11 UTC
消息:对象预期行:1个字符:1代码:0 URI:http://c5beta.dealercontrol.net/inventory/1-2l1305517101/Mercedes-Benz_E-Class_E350_White_2010
消息:对象预期行:1个字符:1代码:0 URI:
消息:对象预期行:1个字符:1代码:0 URI:
消息:对象预期行:1个字符:1代码:0 URI: