Skip to content

使用Curl 测试 example 程序

allwefantasy edited this page Sep 26, 2012 · 3 revisions

如何运行测试

  • 下载项目
git clone git://github.com/allwefantasy/ServiceFramework.git ServiceFramework
  • 新建名称为 'wow' 的数据库。
  • sql目录下有个 wow.sql.运行里面的建表语句。
  • 修改config 目录下的 application.yml。修改下mysql的信息。
development:
    datasources:
        mysql:
           host: 127.0.0.1
           port: 3306
           database: wow
           username: root
           password: csdn.net
        mongodb:
           host: 127.0.0.1
           port: 27017
           database: csdn_data_center
        redis:
            host: 127.0.0.1
            port: 6379
  • 用你的IDE工具中的Junit插件运行 DynamicSuiteRunner。

需要强调的是,运行测试的时候之前请清空你数据库里的数据。否则有脏数据会让某些测试用例失效。

如何启动项目,并且通过CURL 测试示例代码。

  1. 找到 net.csdn.bootstrap.Application
  2. 运行它。

默认开启的是9400 端口。

以标签组为例子:

1.添加tag group 名称为lang

curl -X POST -d "name=lang" http://127.0.0.1:9400/tag_group

2.添加tag 名称为 java

curl -X POST -d "name=java" http://127.0.0.1:9400/tag

3.将tag放置于tag_group中

curl -X POST -d "tag_group_name=lang&tag_name=java" http://127.0.0.1:9400/tag_group/tag

参数来源需要查看源码

com.example.controller.admin.TagAdminController

 @BeforeFilter
    private final static Map $find_tag = map(only, list("add_tag_to_tag_group", "destroy_tag","destroy_tag_from_tag_group"));

    @BeforeFilter
    private final static Map $find_tag_group = map(only, list("add_tag_to_tag_group", "destroy_tag_from_tag_group", "destroy_tag_group"));

与之对应的过滤方法参看下面代码

private void find_tag() {
        tag = Tag.where("name=:name", map("name", param("tag_name"))).single_fetch();
        if (tag == null) {
            render(HTTP_400, fail("必须传递tag参数"));
        }
    }

    private void find_tag_group() {
        tag_group = TagGroup.where("name=:name", map("name", param("tag_group_name"))).single_fetch();
        if (tag_group == null) {
            render(HTTP_400, fail("必须传递tag_group参数"));
        }
    }

4.删除标签和标签组的关系

curl -X DELETE -d "tag_group_name=lang&tag_name=java" http://127.0.0.1:9400/tag_group/tag

附:windows cmd命令显示UTF8设置 来自:http://www.cnblogs.com/lexus/archive/2012/03/15/2398652.html

如果想正确显示UTF-8字符,可以按照以下步骤操作:

  1. 打开CMD.exe命令行窗口
  2. 通过 chcp命令改变代码页,UTF-8的代码页为65001 chcp 65001 执行该操作后,代码页就被变成UTF-8了。但是,在窗口中仍旧不能正确显示UTF-8字符。
  3. 修改窗口属性,改变字体 在命令行标题栏上点击右键,选择"属性"->"字体",将字体修改为True Type字体"Lucida Console",然后点击确定将属性应用到当前窗口。 这时使用type命令就可以显示UTF-8文本文件的内容了: type filename.txt
  4. 通过以上操作并不能完全解决问题,因为显示出来的内容有可能不完全。可以先最小化,然后最大化命令行窗口,文件的内容就完整的显示出来了。