我需要开发一个相当简单的算法,但我很困惑如何最好地为它编写测试.
一般说明:用户需要能够删除计划.计划具有与之关联的任务,这些也需要删除(只要它们尚未完成).
伪代码算法应该如何表现:
PlanController.DeletePlan(plan)
=>
PlanDbRepository.DeletePlan()
ForEach Task t in plan.Tasks
If t.Status = Status.Open Then
TaskDbRepository.DeleteTask(t)
End If
End ForEach
Run Code Online (Sandbox Code Playgroud)
现在据我所知,单元测试不应该触及数据库,或者通常需要访问任何外部系统,所以我猜我有两个选择:
1)模拟Repository调用,并检查它们是否被称为Asserts的适当次数
2)为两个存储库类创建存根,手动设置其删除标志,然后验证是否已将相应的对象标记为删除.
在这两种方法中,最大的问题是:我到底在测试什么?这些测试给我的EXTRA值是多少?
对此的任何见解都将受到高度赞赏.虽然我们使用了RhinoMocks,但这在技术上并没有与任何特定的单元测试框架相关联.但是我更喜欢一般性的解释,这样我才能正确地解决这个问题.
我正在通过javascript触发页面重新加载,使用以下内容:
window.location.reload(true);
Run Code Online (Sandbox Code Playgroud)
但是,在某些情况下(以前的回发),浏览器会给我以下警告:"要再次显示网页,网络浏览器需要重新发送您之前提交的信息......".
有没有办法避免这个消息,只是做回发,因为这可能会让用户感到困惑?如果我需要通过其他方式重新加载页面,那就这样吧.
有人能告诉我如何最好地实现Jquery draggable和droppable,以便拖动的元素移动到新的位置?
你需要为此实现自己的帮助函数,还是包含在Jquery插件中?
jquery ×2
c# ×1
draggable ×1
javascript ×1
mocking ×1
postback ×1
reload ×1
rhino-mocks ×1
stubbing ×1
unit-testing ×1