小编Chr*_*ris的帖子

有没有人在单元测试SQL存储过程方面有任何成功?

我们发现我们为C#/ C++代码编写的单元测试确实得到了回报.但是,我们仍然在存储过程中拥有数千行业务逻辑,当我们的产品推广到大量用户时,它们才真正得到了真正的测试.

更糟糕的是,这些存储过程中的一些最终会很长,因为在SP之间传递临时表时性能会受到影响.这阻止了我们重构以使代码更简单.

我们已经尝试围绕一些关键存储过程构建单元测试(主要是测试性能),但是发现为这些测试设置测试数据真的很难.例如,我们最终复制测试数据库.除此之外,测试最终对变化非常敏感,甚至是对存储过程的最小变化.或表需要对测试进行大量更改.因此,在由于这些数据库测试间歇性地失败而导致许多构建中断之后,我们只需将它们从构建过程中拉出来.

所以,我的问题的主要部分是:有没有人成功为他们的存储过程编写单元测试?

我的问题的第二部分是使用linq进行单元测试是否更容易?

我想的是,您可以简单地创建一组测试对象,并在"linq to objects"情况下测试您的linq代码,而不是必须设置测试数据表.(我对linq来说是全新的,所以不知道这是否会起作用)

sql unit-testing linq-to-sql

37
推荐指数
4
解决办法
6092
查看次数

您如何使用单元测试Web UI?

我目前正在工作的公司正在使用Selenium来统一测试我们的用户界面.您使用什么来对Web UI进行单元测试以及如何有效地进行测试?

user-interface selenium unit-testing

33
推荐指数
3
解决办法
9953
查看次数

您使用什么工具进行静态代码分析?

关于Cyclomatic Complexity的这个问题使我更多地考虑静态代码分析.分析代码复杂性和一致性偶尔会有用,我想开始做更多.您推荐哪些工具(按语言)进行此类分析? 维基百科有很多工具,但以前有人试过哪些工具?

编辑:正如David所指出的,当涉及到基于C/UNIX的工具时,这不是一个完全没有问题的问题.

code-analysis

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

当用户更改电子邮件地址时,"确认电子邮件"输入是否良好?

我的组织有一个表单,允许用户更新他们的电子邮件地址.建议我们有两个电子邮件输入框:第二个作为电子邮件确认.

面对确认时,我总是复制/粘贴我的电子邮件地址.我假设我们的大多数用户都不那么精明.

无论如何,这被认为是一种好习惯吗?我个人无法忍受,但我也意识到它可能不适合我.如果有人搞砸了他们的电子邮件,他们就无法登录,他们必须打电话来解决问题.

html forms email confirm

28
推荐指数
3
解决办法
2800
查看次数

在浏览器中显示矢量图形

我需要在我正在处理的网站上显示一些交互式(附带DOM侦听器等和事件处理)矢量图形.有一个针对SVG的W3C建议,虽然这种格式仍然无法被Internet Explorer支持认可(对于公共网站而言).IE处理VML,甚至还有javascript库根据浏览器(SVG与VML)做一些类似画布的绘图 - excanvas,Dojo Toolkit的GFX等等.虽然它们都不能显示给定标记的SVG图像,但这样会很好并且可以接受.

所以问题实际上包括几个部分:

  1. 是否有任何跨浏览器的Javascript库显示来自给定标记(非强制性SVG)的矢量图形并提供附加到DOM事件的可用性?
  2. 如果没有,哪种最狡猾的浏览器嵌入式技术最适合做这样的任务?我可以选择Flex/Flash,Java applet.由于Windows锁定,Silverlight不是一个选项.

[ 编辑 ]谢谢大家的意见/建议.以下是关于此事的随机笔记/结论:

  • 我需要的交互水平是能够检测正在显示的矢量图像上的DOM事件 - 鼠标悬停,鼠标移动,点击等 - 以及对它们做出反应的能力,如改变背景颜色,显示对话框等.
  • 坚持使用SVG格式的想法非常好,因为除了最受欢迎的IE浏览器之外,它在许多浏览器中都是原生的.经过一些实验显示动态SVG后,我意识到IE 7版本最成问题.由于浏览器不兼容,有太多的麻烦.
  • Cake似乎是一个很棒的Javascript框架,虽然我无法在IE7上运行这些示例.
  • Java Applets - 我最喜欢这个想法,因为我可以使用Apache Batik库,一个高质量的SVG渲染器.但是,Batik是一个非常大的库,我不能负担部署一个重量只有兆字节的applet.
  • 我决定坚持使用Flex选项.我发现了一个漂亮的矢量图形库Degrafa.它使用自己的标记格式,但它识别SVG路径表示法,所以在我的情况下,使用XSLT转换我的SVG或者只是解析它们将非常容易.

[ 编辑2 ]出现了更多评论.我想澄清一下,"Windows锁定"是指Silverlight通常在Windows上运行的情况,更具体地说是IE.我怀疑它是其他系统上可接受的解决方案(例如Flash或Java Applet).是的,我毫不怀疑一个人能够在任何系统上启动Silverlight应用程序,但我担心这对普通用户来说太费劲了.

@Akira:你对IE7上的那些"SVG渲染器"有任何问题吗?我总是抛出Javascript错误.

svg vml cross-browser vector-graphics

28
推荐指数
3
解决办法
1万
查看次数

我应该从nant切换到msbuild吗?

我目前使用nant,ccnet(巡航控制),svn,mbunit.我使用msbuild来做我的sln构建只是因为它更容易出壳.

将我的整个构建脚本切换到MSBuild有什么好处吗?我需要能够运行测试,watir样式测试,xcopy部署.这更容易吗?

更新:任何引人注目的功能会导致我从nant转移到msbuild?

msbuild nant build-automation build-process

28
推荐指数
4
解决办法
5752
查看次数

你使用设计模式吗?

设计模式在现实世界中的渗透是什么?您是否在日常工作中使用它们 - 讨论如何以及在何处将它们应用于您的同事 - 或者它们是否更像是学术概念?

他们真的为你的工作提供了实际价值吗?或者它们只是人们谈论听起来聪明的东西?

注意:出于这个问题的目的,忽略像Singleton这样的"简单"设计模式.我正在谈论设计代码,以便您可以利用模型视图控制器等.

language-agnostic design-patterns

28
推荐指数
2
解决办法
2309
查看次数

如何将XML映射到C#对象

我有一个XML,我想加载到对象,操纵这些对象(设置值,读取值),然后保存这些XML.对我来说,在我创建的结构(xsd)中使用XML非常重要.

一种方法是编写我自己的序列化程序,但它是否内置支持它或C#中的开源我可以使用?

c# xml serialization xml-serialization

28
推荐指数
3
解决办法
7万
查看次数

如何在应用程序中禁用WebBrowser"单击声音"

有问题的"点击声音"实际上是系统范围的偏好,因此我只希望在我的应用程序具有焦点时禁用它,然后在应用程序关闭/失去焦点时重新启用它.

最初,我想在stackoverflow上问这个问题,但我还没有进入测试阶段.因此,在谷歌搜索答案并找到一点信息后,我想出了以下内容,并决定在此处发布,因为我已经进入测试版.

using System;
using Microsoft.Win32;

namespace HowTo
{
    class WebClickSound
    {
        /// <summary>
        /// Enables or disables the web browser navigating click sound.
        /// </summary>
        public static bool Enabled
        {
            get
            {
                RegistryKey key = Registry.CurrentUser.OpenSubKey(@"AppEvents\Schemes\Apps\Explorer\Navigating\.Current");
                string keyValue = (string)key.GetValue(null);
                return String.IsNullOrEmpty(keyValue) == false && keyValue != "\"\"";
            }
            set
            {
                string keyValue;

                if (value)
                {
                    keyValue = "%SystemRoot%\\Media\\";
                    if (Environment.OSVersion.Version.Major == 5 && Environment.OSVersion.Version.Minor > 0)
                    {
                        // XP
                        keyValue += "Windows XP Start.wav";
                    }
                    else if (Environment.OSVersion.Version.Major …
Run Code Online (Sandbox Code Playgroud)

.net c# winforms

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

规范化C#中的换行符

我有一个数据流可能包含\ r,\n,\ r \n,\n\r或它们的任意组合.是否有一种简单的方法来规范化数据,使其全部简单地成为\ r \n对,以使显示更加一致?

所以会产生这种翻译表的东西:

\r     --> \r\n
\n     --> \r\n
\n\n   --> \r\n\r\n
\n\r   --> \r\n
\r\n   --> \r\n
\r\n\n --> \r\n\r\n
Run Code Online (Sandbox Code Playgroud)

.net c#

27
推荐指数
3
解决办法
1万
查看次数