小编mea*_*gar的帖子

整个系统的单元测试应该多久运行一次?

一般来说,我仍然是一个测试新手的单位.

顺便说一句,你还可以看到其他论坛,如xUnit.net,等等这个问题,
因为它是我的一个重要问题.我提前为我的
交叉发布道歉; 你的意见对我来说非常重要,并不是
这个论坛的每个人都属于其他论坛.

我一直在寻找一个大的十年历史的遗留系统已超过700个单元测试有
最近写(700只是一个小小的开始).测试恰好用
MSTest 编写,但这个问题适用于所有测试框架AFAIK.

当我跑步时,通过vs2008"ALL TESTS",最后的计数只有七次测试.
这大约是迄今为止所写测试总数的1%.

更多信息:CodeMlex上提供了ASP.NET MVC 2 RTM源代码,包括其单元测试
; 这些单元测试也是用MSTest编写的,
尽管(一个不相关的事实)Brad Wilson后来加入了ASP.NET MVC团队
作为其高级程序员.所有2000多个测试都会运行,而不仅仅是少数.

问题:鉴于AFAIK单元测试的目的是识别
SUT中的破损,我是否认为"最佳实践"总是,
或者至少非常频繁地运行所有测试?

更新时间2010-05-22

首先,感谢所有提供优秀答案的人.您的答案证实了我的一般结论,即无论是否正在练习TDD(之前的测试)或经典的单元测试(测试之后),在每次本地重建之后运行所有单元测试都是最佳实践.

imho,这个问题有不止一个最好的答案,但是AFAIK SO让我只选择一个,所以为了公平起见,我给了Pete Johns一个复选标记,因为他是第一个并获得了最多的选票. SO社区.芬兰的Esko Luontola也给出了一个很好的答案(我希望他不会被埋在火山灰中)和两个非常好的联系,值得你花时间imho; 肯定与FIRST的链接对我来说是鼓舞人心的; AFAIK,.NET世界中只有xUnit.net提供"任何订单,随时".Esko的第二个链接是一个真正出色的92分钟视频"集成测试是一个骗局"由JB(Joe)Rainsberger(http://jbrains.ca提供,其中有更多内容值得我花时间).顺便说一句,Esko的博客也值得访问http:// orfjackal.

tdd nunit unit-testing mstest xunit.net

9
推荐指数
2
解决办法
1065
查看次数

如何在onclick事件发生时禁用它?

我有一个调用add_cart()JavaScript函数的图像onclick()

<img src="images/add.png" onclick="add_cart()">
Run Code Online (Sandbox Code Playgroud)

我希望用户只点击一次图像.当用户第一次点击它时,add_cart应该调用函数.如果他第二次点击则不会发生任何事件.

html javascript css events onclick

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

Rails 3不需要的html转义

我正在转换我的胖Rails2应用程序以在Rails3上运行.经过长时间激烈的争斗与我的老板大吼大叫,页面全部呈现为转义的html字符串.所以所有的div,图像等都是为用户字面写的.

由于某种原因,这个部分调用呈现一个转义字符串

<%= render :partial => 'something_really_interesting' %>
Run Code Online (Sandbox Code Playgroud)

正如所有Ruby on Rails应用程序一样,这条指令并没有被调用太多!那么我如何处理所有这些不通常不作为转义字符串渲染的调用?

ruby render partial ruby-on-rails-3

9
推荐指数
1
解决办法
4106
查看次数

为什么PHP区分.php和.abc扩展用于缓存?

PHP引擎如何处理仅在文件扩展名方面不同的相同文件之间似乎存在问题.

问题:"If-Modified-Since条件请求返回完整内容不变."

此外,我测量.php扩展加载比带有.xxx扩展的identitcal twin快得多,即使文件内容相同,并且它们的文件扩展名也不同.

替代文字

替代文字

"HTTP允许客户端发出条件请求以查看它们所持有的副本是否仍然有效.由于此响应具有Last-Modified标头,因此客户端应该能够使用If-Modified-Since请求标头进行验证.RED已完成这发现资源发送完整的响应,即使它没有改变,表明它不支持Last-Modified验证."


主页以.结尾 .php

替代文字


完全相同的文件,但结束 .ast

替代文字


鉴于:

home.php文件被复制为home.xxx,此扩展名被添加到htaccess以将其识别为PHP文件..php文件监听php.ini,其中新鲜度设置为3小时,非.php文件必须监听htaccess,其中新鲜度设置为2小时,具体如下:

AddType application/x-httpd-php .php .ast .abc .xxx .etc

<IfModule mod_headers.c>
    ExpiresActive On
    ExpiresDefault M2419200
    Header unset ETag
    FileETag None
    Header unset Pragma
    Header set Cache-Control "max-age=2419200"

    ##### DYNAMIC PAGES
    <FilesMatch "\\.(ast|php|abc|xxx)$">
        ExpiresDefault M7200
        Header set Cache-Control "public, max-age=7200"
    </FilesMatch>
</IfModule>
Run Code Online (Sandbox Code Playgroud)

到目前为止这么好并且所有东西都加载了,除了非php文件没有正确缓存,或者它确实缓存但是不能很好地验证,更具体.见附件图片.只有非php文件扩展名会导致错误并加载更慢.

整个page.php加载速度更快,因为其中的所有元素然后从缓存中正确加载,而page.abc在应该缓存时返回完整请求,这意味着整个页面速度较慢.

底线:应该更改什么,以便消除If-Modified-Since条件请求返回完整内容不变?

php validation caching cache-control if-modified-since

9
推荐指数
1
解决办法
428
查看次数

git rebase问题

我一直在快乐地开发一个分支机构,每天都从主人那里重新定位:

git rebase master
Run Code Online (Sandbox Code Playgroud)

今天当我做了一个rebase master时,我收到以下消息:

回到修补基地和3路合并......

rebase让我经历了一个漫长的过程,一遍又一遍地合并同一组文件.它表示"Patch在001处失败"并持续到044.

完成rebase并将分支推送到远程后,我再次输入rebase命令而不对代码进行任何修改:

git rebase master
Run Code Online (Sandbox Code Playgroud)

然后它再次带我通过完全相同的rebase.我完全迷失了发生的事情.我只是想将master中的bug修复应用到这个分支,而不是每次都经过这个过程.

任何人都可以帮我解决发生的事情.每次我从主人那里退缩时,我都不想要经历这个.

git

9
推荐指数
1
解决办法
4314
查看次数

PHP警告:POST内容 - n个字节的长度超过了第0行的Unknown中的3145728个字节的限制

我很惊讶在我的错误日志中找到上述错误,因为我认为我已经完成了必要的工作以捕获我的PHP脚本中的错误:

if ($_FILES['image']['error'] == 0)
{
 // go ahead to process the image file
}
else
{
 // determine the error
 switch($_FILES['image']['error'])
 {
  case "1":
  $msg = "Uploaded file exceeds the upload_max_filesize directive in php.ini.";
  break;
  ....
 }
}
Run Code Online (Sandbox Code Playgroud)

在我的PHP.ini脚本中,相关设置是:

memory_limit = 128M
post_max_size = 3M
upload_max_filesize = 500K
Run Code Online (Sandbox Code Playgroud)

据我所知,3M相当于3145728字节,这就是触发错误的原因.如果文件大小超过500K但小于3m,PHP脚本将能够按照正常运行,在发出错误信息$msgcase 1.

当帖子大小超过post_max_size但仍然在内存限制范围内时,如何捕获此错误而不是让脚本突然终止并发出PHP警告?我在这里,这里这里看过类似的问题,但找不到答案.

php

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

这个指针构建是否会破坏严格的别名规则?

这是Quake III Arena的快速反平方根实现:

float Q_rsqrt( float number )
{
        long i;
        float x2, y;
        const float threehalfs = 1.5F;

        x2 = number * 0.5F;
        y  = number;
        i  = * ( long * ) &y;                       // evil floating point bit level hacking
        i  = 0x5f3759df - ( i >> 1 );               // what?
        y  = * ( float * ) &i;
        y  = y * ( threehalfs - ( x2 * y * y ) );   // 1st iteration
// …
Run Code Online (Sandbox Code Playgroud)

c pointers casting c99 strict-aliasing

9
推荐指数
2
解决办法
1062
查看次数

FPDF - 内联粗体文本

我正在尝试使用PHP创建PDF,出于法律原因,我们需要将我们的免责声明作为BOLD的一部分,并且需要概述免责声明.

我目前的代码使用:

if(isset($_POST['optout']) && $_POST['optout'] == "yes"){
    $pdf->Ln(5);
    $pdf->SetFont('Arial','I',12);
    $pdf->SetTextColor(128);
    $pdf->MultiCell(0,4,'This is my disclaimer. THESE WORDS NEED TO BE BOLD. These words do not need to be bold.',1,'C');
}
Run Code Online (Sandbox Code Playgroud)

我目前正在将WriteHTML用于文档的其他部分,我可以轻松地使用它而不是MultiCell,但是我如何创建边框?

所以我有两个选择..

原生FPDF功能

PROS:为边框提供选项

缺点:没有简单的方法可以使内联文本变粗

WriteHTML扩展类

PROS:让我轻松添加内联粗体文本

缺点:不确定如何创建边框

建议?

html php border fpdf

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

rails控制台和Rails服务器日志中的输出颜色是什么意思?

我在通用终端内运行rails serverrails console在Ubuntu 14.04中运行(app简称为"终端").

每当我运行涉及数据库的命令时,控制台会输出它发送的SQL查询但有时文本是绿松石色,有时它是紫色.例如,在此控制台输出中:

2.2.2 :025 >   pl = ProjectLevel.find_by(name: 'Premium')

ProjectLevel Load (0.5ms)  SELECT  "project_levels".* FROM "project_levels" WHERE "project_levels"."deleted_at" 
IS NULL AND "project_levels"."name" = $1 LIMIT 1  [["name", "Premium"]]

=> #<ProjectLevel id: 1, name: "Premium", deleted_at: nil, created_at: "2015-07-15 15:45:40", updated_at: "2015-07-15 15:45:40"> 
Run Code Online (Sandbox Code Playgroud)

(此处显示的颜色与我的控制台不同)

所说的那部分ProjectLevel Load (0.5ms)有时会是turqoise,但有时会是紫色的,但文本的其他部分都是.这颜色实际意味着什么吗?它告诉我一些关于查询成功或返回数据的事情吗?通常在Rails中这样的东西是非常直观的(比如测试套件返回绿色文本与红色文本以告诉您测试是否成功)但我似乎无法找到关于这些颜色来自何处的任何信息

ruby sql ubuntu ruby-on-rails rails-console

9
推荐指数
1
解决办法
1371
查看次数

在Unity5中缩放PNG? - Bountie

令人惊讶的团结,多年来只有这样简单地缩放实际PNG是使用非常真棒库http://wiki.unity3d.com/index.php/TextureScale

以下示例

如何使用Unity5功能缩放PNG?现在必须有一种新的UI等方式.

因此,缩放实际像素(例如in Color[])或字面上的PNG文件,可能是从网上下载的.

(顺便说一下,如果你是Unity新手,那么这个Resize电话是无关的.它只会改变一个数组的大小.)

public WebCamTexture wct;

public void UseFamousLibraryToScale()
    {
    // take the photo. scale down to 256
    // also  crop to a central-square

    WebCamTexture wct;
    int oldW = wct.width; // NOTE example code assumes wider than high
    int oldH = wct.height;

    Texture2D photo = new Texture2D(oldW, oldH,
          TextureFormat.ARGB32, false);
    //consider WaitForEndOfFrame() before GetPixels
    photo.SetPixels( 0,0,oldW,oldH, wct.GetPixels() );
    photo.Apply();

    int newH = 256;
    int newW = Mathf.FloorToInt(
           ((float)newH/(float)oldH) * …
Run Code Online (Sandbox Code Playgroud)

unity-game-engine unity3d-ui

9
推荐指数
1
解决办法
777
查看次数