what about test driven development?

 

Hi Folks, I'm starting with MQL and I wanna know how can I get a good cycle to develop my EA's.

I've been using TDD(test driven development) and BDD(behaviour driven development) methods on Ruby and Java. Using tools like JUnit, Cucumber, RSpec.

How can I work with tests on MQL? I'm trying to create assers/expects for my functions.

* I'm using Strategy Tester tool until now, but I'm searching for a test/behaviour driven development framework.

 

if you find something, tell me. but i think you will not be successfull if you search such things.

i have heard somebody has a mql2java bridge. but i can't remember where i read it.


//z

 

Hello,

I dig this post because I ask myself the same kind of question.

And since that first post, things can be changed. 

Does anyone know the existence of libraries or code samples to make, or help to make,  TDD or BDD in MQL4?
 
tintin92:

Hello,

I dig this post because I ask myself the same kind of question.

And since that first post, things can be changed. 

Does anyone know the existence of libraries or code samples to make, or help to make,  TDD or BDD in MQL4?


I am using thorough unit testing for most of my code. I do not use it for graphics though.

My MQL framework is quite specific, different than the MQL included standard files. It is much closer to Java design than C++. So I am afraid I am not compatible with anyone here, sorry I probably cannot help without publishing the entire framework (which I do not intend to do).

 
I find something :
https://github.com/micclly/mt4-unittest
but got a :
2014.09.16 08:53:19.812 zero divide in 'UnitTest.mqh' (171,58)
when try to use it.
 
 
tintin92:
I find something :
https://github.com/micclly/mt4-unittest
but got a :
2014.09.16 08:53:19.812 zero divide in 'UnitTest.mqh' (171,58)
when try to use it.


I know nothing about UnitTest, but for the "zero divide", the problem is a division by a value which is egal to zero

go to line 171, find the division "/", and add condition

 if(value != 0) do divide.

Reason: