• 快乐与爱

    2009-12-20

    有人说人要快乐地活着,为了最爱的人。

    不过这种情况过于简单了。因为世界上还有很多类人:有人同时爱很多人,有人找不到人可以爱,有人并不爱人。

    这几类人都得活着,而且未必不快乐。

    或者说,快乐不应该寄托在爱上。

  • ruby script/generate model Teaching::Lesson ...

    之后,需要在model下添加声明:

    class Teaching::Lesson < ActiveRecord::Base
      set_table_name 'teaching_lessons'
      ...
    end

    需要在 test_helper.rb 中添加针对夹具的声明(建议添加在这里,因为每个测试都需要装载夹具):
    ....
    class ActiveSupport::TestCase
      ...
      set_fixture_class :teaching_lessons => Teaching::Lesson
    end
    ....

    因为数据库表名,类名,夹具名之间的对应不是按照默认规约,所以要特别配置。
    否则自动化测试会出现夹具不能正常装载等错误。

  •   修改某缺陷时,给工程某个Model增加了下面的回调方法:

      before_save :change_hidden_status_by_unread_count

      def change_hidden_status_by_unread_count
        self.hidden = false if self.unread_count > 0
      end

      看似无问题,但是导致单元测试崩掉。
      其中隐藏的陷阱是,当if后面的条件不满足时,整个函数的返回值是false,而:
      before_save的函数链中一旦有函数返回false,就会导致save行为中断

      def change_hidden_status_by_unread_count
        self.hidden = false if self.unread_count > 0
        return true #<--这样改
      end

      显式声明返回值true后,不会影响原有逻辑。当然也有别的写法。
      这里也可以看出如果没有自动化测试,程序出现隐患问题的可能性其实非常大。

  • 草地

    2009-12-15

    要除去一片草地,并不能只靠农药和砍伐。或许种上一片花园,一片麦海,才是最好的。

  • 14日

    2009-12-14

    没有被写下来,录下来,没有人确认,没有人证实的爱,是虚假的爱。
    然而也许也不影响其中包裹着幸福的愿望。