星期二, 12月 01, 2009

windows上Python第一次使用步驟

編輯與執行python程式

  1. 下載python
  2. 執行IDLE (Python GUI)
  3. Ctrl+N編輯新python程式或Ctrl+O開啟已經存在的python程式
  4. F5執行

撰寫python unit test程式

import sys
import unittest

def SayHello(name):
    return "hello " + name

class TestSayHello(unittest.TestCase):
    def testHelloAska(self):
        self.assertEqual("hello Aska", SayHello("Aska"))
    def testHelloWorld(self):
        self.assertEqual("hello World", SayHello("World"))
if __name__ == "__main__":
    if len(sys.argv) < 2:
        unittest.main()
    else:
        SayHello(sys.argv[1]);

星期二, 9月 01, 2009

Tomcat安裝後無法進入管理介面

預設的C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf\tomcat-users.xml有問題,需修改成類似以下的內容:

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="manager"/>
  <role rolename="admin"/>
  <user name="管理者名稱" password="管理者密碼" roles="admin,manager" />
</tomcat-users>

星期二, 10月 21, 2008

某些測試在特定機器上老是出現假警報怎麼辦

在指定機器上關掉該假警報測試

[Test]
public void Test(){

if (Environment.MachineName.ToUpper() == "BAD MACHINE")
    Assert.Ignore("this test caused false alarms on BAD MACHINE");

}

星期三, 4月 16, 2008

限制TRAC report中出現的ticket的時間

changetime - strftime('%s','2008-04-01 02:34:56')

星期五, 4月 11, 2008

使用Microsoft Virtual PC 2007 來輔助測試安裝檔

準備工作

  1. 使用MS Virtual PC安裝一個乾淨的Windows XP
  2. Install Virtual Machine Additions
  3. 在設定中開啟"Enable Undo Disks"。(為了還原硬碟狀態)
  4. 在設定中指定一個Shared Folder。 (為了複製程式到Virtual Machine中)
  5. 複製一些需要的安裝工具到Shared Folder,安裝這些工具到Virtual Machine中。
  6. 確認一切無誤後,關閉virtual machine,選擇"Turn Off and Save Changes"。記得勾選"Commit Changes to the Virtual Hard Disk"。

測試安裝檔

  1. 包裝安裝檔
  2. 開啟virtual machine。
  3. 複製安裝檔在Virtual Machine用的Shared Folder。
  4. 安裝安裝檔
  5. 要關閉Virtual Machine重新測試時,請選擇"Turn Off and Delete Changes"。表示要關掉virtual machine,但不要將硬碟的改變存回去。

注意:

  • Virtual PC能夠undo的只有硬碟的狀態,也就是所謂的"changes"
  • 至於"state"則只能凍結目前CPU, Ram的狀態,下次重開virtual machine時,會回到上次凍結的狀態。"state"目前測試的結果是不能undo的。

星期六, 3月 22, 2008

Nunit中避免category寫錯的小技巧

一般category的使用方式如下:

[Test, Category("IntegrationTest")]
void Test1(){.....}

----------------

一個避免寫錯與免記憶負擔的技巧:

建立一個namespace,內含一些class,用來表示所有測試的category:

namespace TestCategory
{
    class UnitTest : CategoryAttribute { }

    class IntegrationTest : CategoryAttribute { }
}

使用方式:

[Test, TestCategory.IntegrationTest]
void Test1(){.....}

星期六, 3月 01, 2008

vim簡易使用說明

  • 插入:i
  • 附加:a
  • 左右:hl
  • 上下:kj
  • 複製游標所在行:yy
  • 還原:u
  • 貼上:p
  • 不儲存直接離開::q!
  • 刪除游標所在字元:x
  • 刪除游標所在文字,然後進入插入模式:ciw