小编Sam*_*Sam的帖子

我该如何进行单元测试呢?

我需要开发一个相当简单的算法,但我很困惑如何最好地为它编写测试.

一般说明:用户需要能够删除计划.计划具有与之关联的任务,这些也需要删除(只要它们尚未完成).

伪代码算法应该如何表现:

   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,但这在技术上并没有与任何特定的单元测试框架相关联.但是我更喜欢一般性的解释,这样我才能正确地解决这个问题.

c# unit-testing rhino-mocks mocking stubbing

5
推荐指数
1
解决办法
168
查看次数

通过javascript重新加载页面:避免"回发"警告

我正在通过javascript触发页面重新加载,使用以下内容:

window.location.reload(true);
Run Code Online (Sandbox Code Playgroud)

但是,在某些情况下(以前的回发),浏览器会给我以下警告:"要再次显示网页,网络浏览器需要重新发送您之前提交的信息......".

有没有办法避免这个消息,只是做回发,因为这可能会让用户感到困惑?如果我需要通过其他方式重新加载页面,那就这样吧.

javascript jquery postback reload

4
推荐指数
2
解决办法
2万
查看次数

Jquery draggable - 移动拖动元素而不是复制

有人能告诉我如何最好地实现Jquery draggable和droppable,以便拖动的元素移动到新的位置?

你需要为此实现自己的帮助函数,还是包含在Jquery插件中?

jquery draggable jquery-ui-draggable

2
推荐指数
1
解决办法
3130
查看次数