Changes between Version 11 and Version 12 of SummerOfCode2011


Ignore:
Timestamp:
03/16/2011 07:29:17 PM (4 years ago)
Author:
russellm
Comment:

Added project for a javascript test framework.

Legend:

Unmodified
Added
Removed
Modified
  • SummerOfCode2011

    v11 v12  
    220220  * Some fields names chosen by the developer can clash with names of  [http://docs.djangoproject.com/en/dev//ref/models/querysets/#field-lookups ORM query lookups].
    221221
    222 * Provide a mechanism so applications can hook and get their own validation code run at this point. See for example ticket #8579.
     222 * Provide a mechanism so applications can hook and get their own validation code run at this point. See for example ticket #8579.
    223223
    224224See also:
    225225 * #8579
     226
     227=== Javascript test framework ===
     228* '''Complexity:''' Low
     229
     230Django has an extensive test framework for Python code, a suite of tools to make testing server-side testing easier, and a project policy that new code is added without tests. This has been a significant contributor to the stability of Django as a project.
     231
     232However, Django also has client-side components, and these are not tested. Django doesn't currently have any systematic way to test Javascript. As a result, large parts of Django's public-facing code are not tested, and are prone to regressions and failures -- most notably, Django's admin, and the handling of inline form elements.
     233
     234We need a set of tools that allow us to test the Javascript code that forms part of Django's codebase, and a set of tests to validate the behavior of contrib.admin's widgets (and other admin components).
     235
     236Issues to consider:
     237 * How to handle cross-browser differences? Should we use a tool like Selenium to do live tests, or write genuine unit tests of Javascript as a scripting language?
     238 * How to clearly identify javascript tests at runtime? It should be possible to "just run the GUI tests" or "just run the code tests". This may tie into a broader requirement to differentiate "integration tests" (which validate that an app is installed correctly) from "system tests" (which validate that an app works correctly internally)
     239
     240See also:
     241 * #15569 and #14303 (a series of bugs and regressions that should have been caught and tested)
     242 * #2879
     243 * #13873
Back to Top