OBJECTSEMANTICS / SmallSuiteGenerator

Powered by SEMANTICS SRL
http://semantics.bo
MIT License
3 stars 2 forks source link

Error creating addFactoryMessage: of targetClass #182

Closed Lin777 closed 4 years ago

Lin777 commented 4 years ago

Al completar el TypeInfo por defecto se genera como salida el objeto de la clase al que el metodo pertenece , esto puede causar errores cuando se busca crear un objeto X pero el metodo de clase no devuelve un objeto del tipo X sino que devuelve un objeto detipo Y.

Para replicar:

|typeInfo aBlock generated |
aBlock := [PDFDemos widthTest; rotationTest].

typeInfo := STypeInfo asTypeInfo: (
        SSTypeCollector profile: aBlock onPackagesMatching: 'Artefact*').

generated := PDFDocument createTestCaseConfigWithName: 'ArtefactGenerated'.

generated addTypeInfo: typeInfo withKey: 'art';
    typeInfo: 'art';
    fitness: #statement;
    numberOfGenerations: 10;
    numberOfStatements: 30;
    populationSize: 20;
    stopIterations: 7;
    targetPackageRegex: 'Artefact*';
    outputPackageName: 'Generated';
    lastMessage: 'Transcript show: ''artefact'''";
    setUpMethod: 'setUp
    ^ self';
    tearDownMethod: 'tearDown
    ^ self'".

aBlock := [PDFDemos widthTest; rotationTest; datatableTest].
(STestCaseFactoryPharo from: ArtefactGenerated )
    generateViews;
    seedBlock: aBlock;
    createTestCases;
    yourself.

Este error causa problemas principalmente cuando se busca crear la clase targetClass como primer statement.

Para corregirlo se podria: