首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建FitNesse CSlim夹具的困难

创建FitNesse CSlim夹具的困难
EN

Stack Overflow用户
提问于 2014-09-02 18:02:40
回答 1查看 344关注 0票数 0

我最近开始使用FitNesse,并试图通过它为C++代码创建验收测试。我最近下载了CSlim,似乎无法让示例夹具正常工作。以下是夹具代码的副本:

代码语言:javascript
复制
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include "SlimList.h"
#include "Fixtures.h"

class cMultiplication 
{
    public:
    cMultiplication(){};
    ~cMultiplication(){};
    float product()
    {
        return m1*m2;
    }
    float m1;
    float m2;
    char result[32];    
};

#ifndef CPP_COMPILING
extern "C" {
#endif
typedef struct Multiplication
{
    cMultiplication multiplication;
    char result[32];
} Multiplication;

void* Multiplication_Create(StatementExecutor* errorHandler, SlimList* args)
{
    Multiplication* self = (Multiplication*)malloc(sizeof(Multiplication));
    self->result[0] = 0;
     // self->multiplication = new cMultiplication();
    return self;
}

void Multiplication_Destroy(void* void_self)
{
    Multiplication* self = (Multiplication*)void_self;
    // delete self->multiplication;
    free(self);
}

static char* setMultiplicand1(void* void_self, SlimList* args) {
    Multiplication* self = (Multiplication*)void_self;
    self->multiplication.m1 = atof(SlimList_GetStringAt(args, 0));
    return self->result;
}

static char* setMultiplicand2(void* void_self, SlimList* args) {
    Multiplication* self = (Multiplication*)void_self;
    self->multiplication.m2 = atof(SlimList_GetStringAt(args, 0));
    return self->result;
}

static char* Product(void* void_self, SlimList* args) {
    Multiplication* self = (Multiplication*)void_self;
    float product = self->multiplication.product();
    snprintf(self->result, 32, "%g", product);
    return self->result;
}


SLIM_CREATE_FIXTURE(Multiplication) 
    SLIM_FUNCTION(setMultiplicand1)
    SLIM_FUNCTION(setMultiplicand2)
    SLIM_FUNCTION(Product)
SLIM_END

#ifndef CPP_COMPILING
}
#endif  

我愿意接受你给我的任何帮助和智慧。

代码语言:javascript
复制
<code>!define TEST_SYSTEM {slim}

!path C:\Users\212411176\Documents\Git_Repositories\cslim-master\fixtures\

!define COLLAPSE_SETUP {true}
!define COLLAPSE_TEARDOWN {true}


!|import|
|FixtureInCpp.cpp|

|cMultiplication|
|Multiplication1|Multiplication2|Product?|
|1|1|1|
|5|4|20|
|5|4|20|

谢谢你能给我的任何见解。

干杯,

亚历山大

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-26 04:45:45

需要对夹具进行更新,请尝试以下夹具

代码语言:javascript
复制
!define TEST_SYSTEM {slim} 
!define TEST_RUNNER {PATH_TO_CSlim}
!define COMMAND_PATTERN {%m} 
!define SLIM_VERSION {0.0} 

!|import|
|FixtureInCpp.cpp|

|Multiplication| /Multiplicand1+2双乘积?|1|1|1| |5|4|20| |5|4|20|

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25629554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档