v7.11.0
Minor release: a new test-case generator and a richer GUI input/form metamodel. Adds a pytest + Hypothesis test-suite generator and extends the GUI language with alerts, structured input fields, and forms — wired end-to-end through the metamodel, the React generator, the bidirectional web-editor converters, and the Web Modeling Editor. Existing generators' output for existing models is unchanged.
Test Case Generator
- New
besser.generators.testgen.TestCaseGeneratoremits apytest+ Hypothesis test suite from aDomainModel: structural tests (concrete class, constructor signature, onepropertyper attribute, enumeration literals), Hypothesis property-based tests (st.buildsstrategy per class, instantiation invariants, attribute setter round-trips, association-multiplicity contracts), and OCL post-condition tests. - Output is deterministic (stable
timestamporder) — regenerating for an unchanged model yields a byte-identicaltest_hypothesis.py. - Registered in the web editor as Python Test Cases (
test_case).
GUI metamodel — input and form semantics
- Extended
besser.BUML.metamodel.gui: newAlert(severity/title/content/dismissible);InputFieldgainslabel,placeholder,required,default_value,options(aSelectOptionlist),min_value,max_value,step,multiple, plus newInputFieldTypevalues;Formgainstitle,submit_label,show_cancel,cancel_label,columns. - The React generator renders the new input components.
- The web-editor converters handle the new constructs in both directions (
json_to_bumlandbuml_to_json) — export→BUML→re-import keeps alerts, input-field attributes and forms.
Web Modeling Editor
- GUI input blocks in the No-Code editor palette (frontend #155).
- Python Test Cases generation menu entry wired to the
test_casebackend generator (frontend #138).
Internal
- CI prunes dangling Docker images after the WME deploy step (#566).