我们发现我们为C#/ C++代码编写的单元测试确实得到了回报.但是,我们仍然在存储过程中拥有数千行业务逻辑,当我们的产品推广到大量用户时,它们才真正得到了真正的测试.
更糟糕的是,这些存储过程中的一些最终会很长,因为在SP之间传递临时表时性能会受到影响.这阻止了我们重构以使代码更简单.
我们已经尝试围绕一些关键存储过程构建单元测试(主要是测试性能),但是发现为这些测试设置测试数据真的很难.例如,我们最终复制测试数据库.除此之外,测试最终对变化非常敏感,甚至是对存储过程的最小变化.或表需要对测试进行大量更改.因此,在由于这些数据库测试间歇性地失败而导致许多构建中断之后,我们只需将它们从构建过程中拉出来.
所以,我的问题的主要部分是:有没有人成功为他们的存储过程编写单元测试?
我的问题的第二部分是使用linq进行单元测试是否更容易?
我想的是,您可以简单地创建一组测试对象,并在"linq to objects"情况下测试您的linq代码,而不是必须设置测试数据表.(我对linq来说是全新的,所以不知道这是否会起作用)
我目前正在工作的公司正在使用Selenium来统一测试我们的用户界面.您使用什么来对Web UI进行单元测试以及如何有效地进行测试?
关于Cyclomatic Complexity的这个问题使我更多地考虑静态代码分析.分析代码复杂性和一致性偶尔会有用,我想开始做更多.您推荐哪些工具(按语言)进行此类分析? 维基百科有很多工具,但以前有人试过哪些工具?
编辑:正如David所指出的,当涉及到基于C/UNIX的工具时,这不是一个完全没有问题的问题.
我的组织有一个表单,允许用户更新他们的电子邮件地址.建议我们有两个电子邮件输入框:第二个作为电子邮件确认.
面对确认时,我总是复制/粘贴我的电子邮件地址.我假设我们的大多数用户都不那么精明.
无论如何,这被认为是一种好习惯吗?我个人无法忍受,但我也意识到它可能不适合我.如果有人搞砸了他们的电子邮件,他们就无法登录,他们必须打电话来解决问题.
我需要在我正在处理的网站上显示一些交互式(附带DOM侦听器等和事件处理)矢量图形.有一个针对SVG的W3C建议,虽然这种格式仍然无法被Internet Explorer支持认可(对于公共网站而言).IE处理VML,甚至还有javascript库根据浏览器(SVG与VML)做一些类似画布的绘图 - excanvas,Dojo Toolkit的GFX等等.虽然它们都不能显示给定标记的SVG图像,但这样会很好并且可以接受.
所以问题实际上包括几个部分:
[ 编辑 ]谢谢大家的意见/建议.以下是关于此事的随机笔记/结论:
[ 编辑2 ]出现了更多评论.我想澄清一下,"Windows锁定"是指Silverlight通常在Windows上运行的情况,更具体地说是IE.我怀疑它是其他系统上可接受的解决方案(例如Flash或Java Applet).是的,我毫不怀疑一个人能够在任何系统上启动Silverlight应用程序,但我担心这对普通用户来说太费劲了.
@Akira:你对IE7上的那些"SVG渲染器"有任何问题吗?我总是抛出Javascript错误.
我目前使用nant,ccnet(巡航控制),svn,mbunit.我使用msbuild来做我的sln构建只是因为它更容易出壳.
将我的整个构建脚本切换到MSBuild有什么好处吗?我需要能够运行测试,watir样式测试,xcopy部署.这更容易吗?
更新:任何引人注目的功能会导致我从nant转移到msbuild?
设计模式在现实世界中的渗透是什么?您是否在日常工作中使用它们 - 讨论如何以及在何处将它们应用于您的同事 - 或者它们是否更像是学术概念?
他们真的为你的工作提供了实际价值吗?或者它们只是人们谈论听起来聪明的东西?
注意:出于这个问题的目的,忽略像Singleton这样的"简单"设计模式.我正在谈论设计代码,以便您可以利用模型视图控制器等.
我有一个XML,我想加载到对象,操纵这些对象(设置值,读取值),然后保存这些XML.对我来说,在我创建的结构(xsd)中使用XML非常重要.
一种方法是编写我自己的序列化程序,但它是否内置支持它或C#中的开源我可以使用?
有问题的"点击声音"实际上是系统范围的偏好,因此我只希望在我的应用程序具有焦点时禁用它,然后在应用程序关闭/失去焦点时重新启用它.
最初,我想在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) 我有一个数据流可能包含\ 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)