问题列表 - 第2229页

在Ruby的Test :: Unit :: TestCase中,如何覆盖initialize方法?

我正在与Test :: Unit挣扎.当我想到单元测试时,我想到了每个文件的一个简单测试.但是在Ruby的框架中,我必须改为:

class MyTest < Test::Unit::TestCase 
   def setup 
   end

   def test_1 
   end

   def test_1 
   end
end
Run Code Online (Sandbox Code Playgroud)

但是每次调用test_*方法都会运行setup和teardown.这正是我不想要的.相反,我想要一个只为整个类运行一次的设置方法.但我似乎无法在不破坏TestCase初始化的情况下编写自己的initialize().

那可能吗?或者我是否使这无可救药地变得复杂?

ruby unit-testing testunit

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

什么是教我的儿子编程Java的好方法

好的,所以我已经阅读了关于教授初学者编程的各种帖子,并且我会更仔细地看一些有用的东西.但我想知道的是,是否有任何有效的工具专门教孩子Java

我想特别教他Java,因为(a)我在CI中的强大背景感觉太复杂了,(b)Java是我非常了解的另一种语言,因此我可以有意义地帮助而不需要自学一个新的但是me)无用的语言,(c)我认为托管语言是未来,最后(d)Java是我熟悉的所有语言中最简单的语言之一(除了基本语言).

我在基础学习,并且我愿意首先教授,但我不知道一个体面的免费Windows基础shell(虽然我没有真正搜索过,但因为它不是我的第一选择),并且无论如何都想要进步快到Java.

我儿子8岁,所以比我开始早了几年 - 但他表示有兴趣学习编程(可能是因为我在家工作很多,他一直看我编程).

如果没有人可以建议为此目的设计的工具,我可能会开始使用基于文本/控制台的应用程序来教授基础知识,然后进入GUI构建.

哦,最后一件事,我不是IDE(老式文本编辑器类型)的粉丝,所以我不会被一个让他输入真实代码的系统推迟,并且可能更喜欢玩玩具拖动/下降系统.

编辑:只是为了澄清; 我真的特别想要教他Java的方法; 已经有很多帖子对其他语言替代方案有很好的答案 - 但这不是我在这里寻找的.

编辑:2D视频游戏的Java框架怎么样 - 任何人都可以从个人经验推荐其中任何一个吗?我喜欢他的想法,从他的机制开始(主要游戏循环,得分等)并添加他自己想象的游戏的细节 - 这就是我做的,虽然对我来说这是一个基本的Commodore VIC-20和辛克莱ZX-81.

java

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

std :: string size()是否为O(1)操作?

std :: string size()是否为O(1)操作?

我正在使用的STL的实现是VC++内置的

c++ stl stdstring visual-c++

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

如何在密钥类型为std :: string的地图查找中提高性能?

我正在使用std::map(VC++实现),并且通过map的find方法查找速度有点慢.

关键类型是std::string.

我可以std::map通过地图的自定义键比较覆盖来提高此查找的性能吗?例如,std::string< string::size()compare在比较数据之前可能没有考虑简单的比较?

还有其他想法加快比较吗?

在我的情况下,地图将始终包含<15个元素,但是它会被不断地查询并且性能至关重要.也许有一个更好的数据结构,我可以使用更快?

更新:地图包含文件路径.

Update2:地图的元素经常变化.

c++ optimization dictionary stdmap visual-c++

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

MySQL或PHP中的函数

通常在Web服务器或数据库中运行函数会更好吗?

例:

INSERT INTO example (hash) VALUE (MD5('hello'))
Run Code Online (Sandbox Code Playgroud)

要么

INSERT INTO example (hash) VALUE ('5d41402abc4b2a76b9719d911017c592')
Run Code Online (Sandbox Code Playgroud)

好的,这是一个非常简单的例子,但是当网站发展到多个网站或数据库服务器时,为了实现可扩展性,哪里最好"做好工作"?

php mysql performance

12
推荐指数
1
解决办法
354
查看次数

调试是一种难闻的气味 - 如何说服他们?

我一直在研究一个不能再被描述为"小"的项目(40多个月),一个团队不再被定义为"小"(约30人).我们一直在使用敏捷/ Scrum(1)实践,并且使用健康剂量的TDD.

我不确定我是从敏捷还是TDD中选择了这个,更可能是两者的结合,但我现在显然是在那些把调试视为难闻气味的人的阵营中.通过'调试'我不是指更抽象的概念,即弄清楚系统可能出现什么问题,而是指在调试模式下运行系统的具体活动,逐步完成代码以找出其他难以理解的细节.

由于我相当确信,这个问题并不是关于调试是否是一种难闻的气味.相反,我想知道如何说服我的队友这个.

认为调试模式是"标准"模式的人倾向于编写只能通过调试才能理解的代码,这会导致浪费大量时间,因为每次你在其他人开发的代码之上处理项目时,你首先花费相当多的时间来调试它(并且,因为没有涉及到错误......这个术语变得越来越荒谬) - 然后就会出现孤岛.所以我很想说服我的一些队友避免调试模式是一件好事(2).但是,由于它们习惯于处于调试模式,因此它们似乎没有看到问题.对他们来说,花费数小时调试别人的代码,然后他们甚至开始做与他们的新项目相关的任何事情是常态; 他们没有看到任何错误.另外,因为他们花时间'搞清楚'

帮助我想出一个让他们脱离黑暗面的计划!

提前致谢.

(1)也称为SCRUM(全部大写).抛开资本化论点,我认为必须使用术语后的星号,因为 - 毫不奇怪 - 我们的组织"调整"敏捷和Scrum流程以适应所有利益相关方的感知需求.所以,老实说,根据理论,我不会假装这是100%,但这不是我的问题.

(2)是的,总是会有时候,我们就必须在调试模式下得到的,我不是要绝对避免,只是..试图尽量减少我们要深入到它的次数.

debugging tdd

15
推荐指数
5
解决办法
2538
查看次数

使用随机输入测试最佳实践

注意:我提到接下来的几段作为背景.如果您只是想要TL; DR,请随意跳到编号问题,因为它们只是间接与此信息相关.

我正在编写一个python脚本,用POSIX日期(以及其他东西)做一些事情.单元测试这些似乎有点困难,因为可以遇到如此广泛的日期和时间.

当然,尝试测试每一个可能的日期/时间组合是不切实际的,所以我想我会尝试一个随机化输入的单元测试,然后报告测试失败时的输入.从统计学的角度来说,我认为如果我试图考虑所有潜在的问题区域(由于缺少的东西)或测试所有情况(由于纯粹的不可行性),我可以实现更多的测试完整性,假设我运行它足够的时间.

所以这里有几个问题(主要与上述内容间接相关):

  1. 什么类型的代码是随机测试的理想候选者?什么类型的代码不是?
    • 如何确定使用随机输入运行代码的次数?我问这个是因为我想要一个足够大的样本来确定任何错误,但是不想等待一周才能得到我的结果.
    • 这些类型的测试是否非常适合单元测试,还是有其他类型的测试可以很好地适应?
    • 做这种事还有其他最佳做法吗?

相关话题:

language-agnostic unit-testing

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

C#错误:使用未分配的局部变量

我不知道为什么我会收到这个错误,但是这个代码不应该编译,因为我已经检查了队列是否被初始化了?

public static void Main(String[] args)
{
    Byte maxSize;
    Queue queue;

    if(args.Length != 0)
    {
        if(Byte.TryParse(args[0], out maxSize))
            queue = new Queue(){MaxSize = maxSize};
        else
            Environment.Exit(0);
    }
    else
    {
        Environment.Exit(0);
    }

    for(Byte j = 0; j < queue.MaxSize; j++)
        queue.Insert(j);
    for(Byte j = 0; j < queue.MaxSize; j++)
        Console.WriteLine(queue.Remove());
}
Run Code Online (Sandbox Code Playgroud)

所以如果没有初始化队列,那么for循环是不可以访问的吗?由于程序已经以Environment.Exit(0)终止?

希望你能给我一些指示:)

谢谢.

c# initialization

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

静态终结器

执行某些静态finallization的正确方法是什么?

没有静态析构函数.AppDomain.DomainUnload默认域中不会引发该事件.该AppDomain.ProcessExit事件共享所有事件处理程序之间的三秒(默认设置)的总时间,因此它实际上不可用.

.net c# static destructor finalizer

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

MySql集群"裂脑"解决方案?

几天前我在贝尔格莱德参加了一些IT会议.关于议程是一个关于MySql的主题,以及MySql中的聚类,来自MySql的人说他们拥有群集裂脑问题的最佳解决方案,有没有人知道这个,这是真的还是仅仅是营销手段?

mysql split database-cluster

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