存储脚本的“最佳”方式是什么?

时间:2009-04-24 04:10:32

标签: storage scripting

我有数百个用于测试组件的脚本。每个脚本都包含一组下标和单个记录。

下标可以在多个TC_Level脚本中使用,甚至可以在其他下标中使用 每个脚本都有一个唯一的名称。

示例:

TC_1
  |  
 (1) Subscript_a  
  |  |  
  | (1) Record  i
  |  |  
  | (2) Record  ii
  |  
 (2) Subscript_b  
  |  |  
  | (1) Subscript_c
  |  |  |
  |  | (1) Record_i  
  |  |  |  
  |  | (2) Record_iii  
  |  |
  | (2) Record_ii  
  |  
 (3) Record_iv  
  |  
 (4) Record_v  
  |  
  ...  

我想

  • 将我的脚本存储在容器中。
  • 在我的脚本引擎中将它们读入树视图。

我应该使用什么类型的容器?

可能的容器(但不限于):目录,数据库,XML文件,电子表格,平面文件,......

请在提出建议时,还要包含存储结构的简短示例(不一定是代码)。

我已经看到了填充树形图数据库的c#示例,但我认为我不能使用对parentID的引用(对于下标),因为下标可以有多个parentID。

3 个答案:

答案 0 :(得分:4)

我建议依赖目录结构+版本控制系统。

它有很多优点:

  • 版本控制可帮助您保留修订并提高安全性
  • 没有任何花哨的工具,您仍然可以使用它
  • 很简单
  • 很快

答案 1 :(得分:1)

我同意版本控制系统和文件系统是理想的。

但是,我还建议您分解每个测试用例,以包含所需的每个附加数据的目录。大多数现代数据版本控制系统都支持链接的概念,这将是它们的理想用途,可以使所有内容在长期内保持可维护性。如另一个答案所提到的,这些也可以很好地与焦油配合使用。

 Shared
 |    |
 |    Subscript_a  
 |    |
 |    Subscript_b
 |    |  
 |    Subscript_c  
 Test_Case_1
 |         |
 |         SUBSCRIPT_B_DIRECTORY
 |                             |
 |                             link to ../../Shared/Subscript_b
 |                             |
 |                             SUBSCRIPT_C_DIRECTORY
 |                                                 |
 |                                                 link to ../../../../Shared/scri_c
 Test_Case_2
 |         |
 |         SUBSCRIPT_C_DIRECTORY
 |                             |
 |                             link to ../../Shared/Subscript_c
 Test_Case_3
           |
           SUBSCRIPT_A_DIRECTORY
           |                   |
           |                   link to ../../Shared/Subscript_a
           SUBSCRIPT_B_DIRECTORY
                               |
                               link to ../../Shared/Subscript_b

同样适用于记录。设置很痛苦,但我相信它 从长远来看,它将为您带来灵活性和可维护性 能够混合和匹配您的脚本和Test_Cases。你将不得不处理 额外的间接级别和一些环境变量,如$ SHAREDTOP 可以隔离你的脚本不被移动。如果你是Windows,你只能从一个好的版本控制系统获得可链接的功能。在UNIX盒子上,tar甚至可以满足。

答案 2 :(得分:0)

我还建议使用具有一致命名方案的目录结构。如果您需要打包所有文件,您可以只使用“tar”(或其他一些归档/ zip工具)。