我们正处于尝试实施TDD的初始阶段.我演示了Visual Studio Team System代码覆盖/ TDD工具,团队对这些可能性感到兴奋.目前我们使用Devpartner进行代码覆盖,但我们想要消除它,因为它很昂贵.我们在TDD方面的经验非常有限,并且希望确保我们不会走错方向.目前我们使用SourceSafe进行源代码管理,但将在大约一年内迁移到Team System.
我可以告诉你我们的应用程序是以数据为中心的.我们有大约900个表,6000个存储过程和大约45GB的数据.我们有很多基于用户数据和系统中不同费率的计算.我们的很多代码也是基于时间(计算当前日期的兴趣).其中一些计算非常复杂且非常密集(只有少数人知道其中一些的详细信息).
我们希望实施TDD来解决质量保证问题.许多开发人员被迫在他们不熟悉的领域修复bug并最终破坏某些东西.开发人员也几乎不敢触摸,因为代码被系统中的所有内容使用.我们想要缓解这个问题.
我担心,因为我们的代码是以数据为中心的,因此实现TDD可能比大多数系统稍微复杂一些.我正在努力想出一个我可以向管理层提出的游戏计划,但我希望不要陷入一些TDD初学者的错误.此外,如果Team System中的工具/设施使TDD更加完整,那么这将是不错的,但我们不想等待Team System开始.
我们要问的第一个问题是,我们应该从visual studio中的工具开始吗?我读过帖子,人们抱怨视觉工作室中的内在工具(需要创建一个单独的项目来创建你的测试)但是视觉工作室中的工具的一件事是他们是免费的,并且集成是好的.如果我们决定使用XUnit,MBUnit或NUnit这样的其他路线,那么我们很可能会有一些可能很高的成本:
1)如果我们想要IDE集成(未提及我们的大部分代码是VB.Net)
--- TestDriven.Net或Resharper或?????
2)如果我们想要代码覆盖
--- NCover(其功能似乎相当昂贵)
此外,我在visual studio 2010中看到了一些非常酷的功能.比如能够进行输入测试(在表单上输入的数据)或记录用户所做的事情的能力,然后将其输入到单元测试中以重现问题.
此外,虽然我还没有完全掌握嘲弄对象的概念,但我知道很多人都认为这是必须的.问题是所有的模拟框架都可以插入到visual studio的TDD版本(MSTEST)中吗?
我告诉管理层我们应该只是添加回归测试(新开发或发现错误),但不要试图通过我们所有的代码并进行单元测试.这将是太大的项目.
无论如何,我会感激任何人的帮助.
我有一个图像mySprite.png.该图像是一个5x5网格的32x32像素精灵.此图像已加载到项目的库中.
假设我在一个类中有一个render()函数,该类如何从这个精灵表资源中将自己绘制为一个精灵?
我使用Django 1.0编写了一个应用程序.它与django测试服务器一起工作正常.但是当我试图让它进入更有可能的生产环境时,Apache服务器无法运行应用程序.我使用的服务器是WAMP2.0.我多年来一直是PHP程序员,很久以前我一直在使用WAMPServer.我安装了mod_wsgi.so并且似乎工作正常(没有服务错误)但我无法配置httpd.conf来查看位于服务器根目录之外的python脚本.
现在,我很酷,覆盖文档根目录并从文档根目录中提供django应用程序,因此httpd.conf行应该如下所示:
WSGIScriptAlias / C:/Users/Marcos/Documents/mysite/apache/django.wsgi
但服务器的响应是403 Forbidden
我想知道如何阻止来自我的ASP.NET MVC部分视图/ ASCX用户控件的那些恼人的编译器警告"未定义类或CssClass值".CSS已正确定义,但CSS文件的引用显然仅在母版页上.我的部分视图包含很多关于div等的CSS类引用,所以我得到了大量的警告,我不应该看到.
我怎么解决这个问题?
谢谢 !
是否有一个工具允许我指向一个subversion存储库来浏览存储库的内容.我在想类似于trac为SCM提供的东西.我为那些不熟悉trac源代码集成的人描述了一些功能:
基于web的基于Web的存储库查看器还应具备哪些其他功能?
我有一个现有的SQL 2005存储过程,由于某种原因,它将结果输出到SSMS 中的" 消息"窗格而不是" 结果"窗格.(它实际上已经编译并部署到我们所有服务器的CLR程序,并用于另一个日常进程.所以我无法更改它,我只想使用它的输出.)
为了便于讨论,这里的存储过程的行为方式相同:
CREATE PROCEDURE [dbo].[OutputTest]
@Param1 int, @Param2 varchar(100)
AS
BEGIN
SET NOCOUNT ON;
PRINT 'C,10000,15000';
PRINT 'D,30000,90000';
PRINT 'E,500,50000';
END
Run Code Online (Sandbox Code Playgroud)
因此,那里没有实际的SELECT语句,如果你运行它,你只会在Messages窗格中看到这些结果.
我有什么方法可以将这些结果用作更大查询的一部分吗?把它们放在临时表或其他东西,所以我可以解析它们?
没有"正常的东西"有效,因为这里没有真正的"输出":
INSERT INTO #output
EXEC OutputTest 100, 'bob'
Run Code Online (Sandbox Code Playgroud)
只是表明
C,10000,15000
D,30000,90000
E,500,50000
(0 row(s) affected)
Run Code Online (Sandbox Code Playgroud)
在消息窗格上,临时表实际上没有任何内容.
我正在使用Silverlight RIA服务,我想创建自定义身份验证.这似乎是唯一几乎没有文档的东西(我已经阅读了整个RIAServicesOverview.docx).
您知道我创建客户身份验证服务的方法吗?我不想使用默认的ASP.NET成员资格模型.我不知道我需要实现什么接口或抽象类 - 虽然我确实找到了System.Web.Ria.ApplicationServices.IAuthentication.
我需要实施IAuthentication吗?如果是这样,你能否就如何这样做给我一些建议?这些是以下方法:
public User GetUser();
public User Login(string userName, string password, bool isPersistent, string customData);
public User Logout();
public void UpdateUser(User user);
Run Code Online (Sandbox Code Playgroud)
我不知道我将如何实现其中任何一个(登录除外) - 如果Logout()工作,服务怎么可能知道用户当前登录了什么?
我已经冲刷寻找如何做到这一点了几个小时在网上,我无法找到任何介绍如何创建一个简单的DomainService可以用于在"RIA联" Silverlight项目验证用户.
如果有人能够对此有所了解,我将非常感激.
谢谢,
查尔斯
[编辑]
我在MSDN代码库中找到了RIA服务页面.有一个名为Authentication Samples的部分,它链接到一些很棒的代码示例.如果您想了解有关身份验证在RIA服务中如何工作的更多信息,请查看它.
一个快速介绍的两人组合.简介:我是从Perl来到Ruby的,我在测试框架选择中有点迷失.我知道可能没有单一的,全方位的最佳选择,但我甚至无法清楚地了解比赛场地.
那么,首先,MiniTest还是Test :: Unit?我刚刚意识到1.9.1默认为MiniTest.我没有注意到,因为所有较旧的Test :: Unit教程仍然可以正常工作.如果您require test/unit,您实际上将MiniTest作为Test :: Unit模拟器(!).我最初的想法是使用MiniTest的默认选择(一旦我知道它就在那里),但即使是最新的书也似乎没有兴趣教它.Ruby Best Practices说"两者之间存在显着差异",但他选择不处理它们.他还通过Test :: Unit(以及一些自定义附加组件)运行他的所有测试.新的Pickaxe 本身也很少涉及MiniTest ,在测试章节中他们也使用了MiniTest的Test :: Unit仿真版本.为了澄清我的第一个问题:MiniTest是一个糟糕的第一选择吗?我应该默认使用Test :: Unit模拟器吗?
其次,除了内置选项之外,还有用于行为驱动测试的Rspec,Cucumber和公司.社区是否倾向于这种风格和这个框架?我应该从Rspec开始吗?
我会对这三个人玩一点,但我很想知道在Ruby 1.9中围绕测试形成了什么样的共识(如果有的话).
(快速跟进,提醒自己和任何感兴趣的人.请参阅此链接,了解各种Rubies 1.8到1.9.1中Test :: Unit和MiniTest的不同调用的有用概述.)
当我的团队第一次开始使用SVN时,我们只是在提交到存储库时使用了我们的名字,但是,现在我们的团队已经成长,我们遇到问题因为我们刚刚雇用了第二个Mike.
我们想要做的是将每个人的用户名更改为与其计算机上的用户名相同(名字首字母和姓氏).我看到的问题是SVN历史记录仍然会在提交时显示旧的用户名.
是否有用于在存储库的整个历史记录中更改用户名的工具?
例如,我希望当前归于Mike的每个提交都更改为msmith,一直返回到修订版1.
我的第一个想法是,我将不得不对转储文件进行一些解析和处理,但是一个工具会很好.
我成功创建了一个与Apple键盘功能类似的自定义键盘.有一件事情仍然不同.在Apple的iPhone键盘上,用户可以在键盘上滑动手指,弹出所有通过的键.在我的键盘上,这不会发生.将手指向上滑动只会导致我触摸的第一个按钮弹出,当我距离足够远时,它会向下移动.我目前正在使用此代码作为弹出键:
UIImage *bigLetter = [UIImage imageNamed:@"letter1.png"];
[keyOne setImage:bigLetter forState:UIControlStateHighlighted];
Run Code Online (Sandbox Code Playgroud)
keyOne是一个UIButton,当用户"高亮"或点击键盘上的键时,我覆盖了较大字符的图像.是否有类似的状态只是"悬停",以便如果用户突出显示Q键并将其手指滑动到W键,W键会突出显示?