2014-09-02 66 views
0

我最近開始使用FitNesse,並試圖通過它爲C++代碼創建Acceptance Tests。我最近下載了CSlim,似乎無法獲得示例燈具的工作。這裏是夾具代碼的副本:爲FitNesse CSlim創建Fixture困難

#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 

我會appreicate任何幫助和智慧,你得給我。

<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| 

在此先感謝您對我的任何見解。

乾杯,

亞歷山大

+0

我,我沒有選擇CSlim正確的跑步者的印象。不幸的是,我一直無法找到我拉下[CSlim GitHub項目](https://github.com/dougbradbury/cslim/tree/master/src/CSlim)的zip文件夾中的任何一個跑步者。有誰知道在哪裏獲得CSlim亞軍? – 2014-09-03 12:10:02

回答

0

夾具需要更新,請嘗試以下夾具

!define TEST_SYSTEM {slim} 
!define TEST_RUNNER {PATH_TO_CSlim} 
!define COMMAND_PATTERN {%m} 
!define SLIM_VERSION {0.0} 

!|import| 
|FixtureInCpp.cpp| 

|Multiplication| | Multiplicand1 | Multiplicand2 |產品?| |1|1|1| |5|4|20| |5|4|20|