|
|
|
Unit Tests
|
|
Code: |
class Fufu
{
public function __construct($lala = null)
{}
}
|
|
Ich möchte gern die 2 Möglichkeiten testen die obere Klasse zu erstellen.
Testet man da auch den leeren Fall oder nur falls $lala gefüllt ist?
|
|
|
|
|
|
|
Kommt drauf an.
Die Klasse würd ich garnicht testen, da sie nix macht
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Noch_ein_Kamel am 18.06.2013 11:08]
|
|
|
|
|
|
|
|
|
|
Kann ich in Python irgendwie prüfen ob 2 Functionen gleich bzw. ähnlich sind? (Nicht deren binding zu einem Namespace, sondern die Funktionsdef selbst)
|
|
|
|
|
|
|
Kommt drauf an, was sie macht.
Ob "new Object()" nen Objekt erzeugt braucht man nicht testen.
Wenn dein Konstruktor mit der Variable nichts anders macht, als sie zu speichern brauch man den Fall ohne Variable wohl auch nicht testen... Wenn abhängig davon andere Operationen bei der Erstellung eines Objektes ausgeführt werden, macht es wohl Sinn zu Prüfen, ob die Ergebnisse, wie erwartet sind.
|
|
|
|
|
|
|
|
|
|
|
Es gibt auch noch getfullargspec oder so ähnlich, das gibt's afaik schon seit Python 2.
|
|
|
|
|
|
|
Nach ca. 1 Woche mit Opera Next muss ich sagen: Man kann damit arbeiten. Zwar hoffe ich, dass viele GUI-Features aus dem alten Opera wieder rein kommen, aber er bedient sich schon einmal 1000 mal besser als alle anderen Drecksbrowser. Und wenigstens ist er nicht mehr so lahm wie Opera...
Insofern: Es besteht echt noch Hoffnung.
|
|
|
|
|
|
|
| Zitat von csde_rats
Es gibt auch noch getfullargspec oder so ähnlich, das gibt's afaik schon seit Python 2.
| |
Ich meinte den Body. Ich mach das jetzt so, dass ich mir mit inspect.getsourcleines() den body als string hole und dann mit difflib die ratio berechne.
|
|
|
|
|
|
|
| Zitat von WeGi
Kann ich in Python irgendwie prüfen ob 2 Functionen gleich bzw. ähnlich sind? (Nicht deren binding zu einem Namespace, sondern die Funktionsdef selbst)
| |
|
Code: |
import ast, inspect
def relevant_func(func):
"""Holt relevante teile aus der funktionsdefinition"""
func = ast.parse(inspect.getsource(func)).body[0]
return (
#func.name, #wohl eher nicht
func.args.args,
func.args.defaults,
...,
[relevant_expr(expr) for expr in func.body],
)
def compare_funcs(*funcs):
f_iter = (relevant_func(f) for f in funcs)
start = next(f_iter)
return all(func == start for func in f_iter)
|
|
relevant_expr und was sonst noch so von der signatur (func.args ) wichtig ist, musst du selber rausfinden :/
blöderweise vergleichen die ast-objekte immer False…
|
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von flying sheep am 18.06.2013 15:31]
|
|
|
|
|
|
| Zitat von Noch_ein_Kamel
Kommt drauf an, was sie macht.
Ob "new Object()" nen Objekt erzeugt braucht man nicht testen.
Wenn dein Konstruktor mit der Variable nichts anders macht, als sie zu speichern brauch man den Fall ohne Variable wohl auch nicht testen... Wenn abhängig davon andere Operationen bei der Erstellung eines Objektes ausgeführt werden, macht es wohl Sinn zu Prüfen, ob die Ergebnisse, wie erwartet sind.
| |
Ok, hätte das vielleicht ausführen sollen. Es werden im construct in der Tat noch Methoden aufgerufen, die evtl. Exceptions werfen.
|
|
|
|
|
|
|
geilo
|
|
|
|
|
|
|
Das sieht gar nicht fancy aus.
Gefällt mir nicht.
|
|
|
|
|
|
|
Ah, Windows 8, ja?
|
|
|
|
|
|
|
Für im Heizungskeller wär's in Ordnung, wenn man sonst per Smartphoneapp steuert
|
|
|
|
|
|
|
ich steigere noch auf das 10" color-panel
außerdem mag ich gerade lieber als fancy
|
|
|
|
|
|
|
Ist so ein Siemens-Ding nicht automagisch gehackt, nachdem es eingesteckt wird?
|
|
|
|
|
|
|
|
|
|
|
Boah was ne Hitze draussen... genau die richtige Woche urlaub genommen, da kann ich zu Hause siten und Eis essen, statt in der Hitze zu braten
|
|
|
|
|
|
|
Ich sitze hier in einem kühlen dunklen Büro, schön gemütlich
|
|
|
|
|
|
|
Hier gabs heute richtig, richtig mieses Gewitter.
|
|
|
|
|
|
|
Ich glaub ich hab die beiden Festivals überorganisiert. Aufjedenfall hab ich glaub ich mal wieder zu viel Geld ausgegeben
Hurricane alleine das ticket 160
Dann Strompauschale (via batterien) für 10 euro, Safe-Miete für 20 euro
Lebensmittel für 115,- EUR (gut, die Konserven, das Wasser und das Pils werden nicht schlecht; gekauft hätte ich es sonst aber nicht)
Regenjacke plus fleeceteil 150 euro
Diverses Campingzubehör für circa 120 euro (gasköcher, Campingstuhl usw.)
Sprit....
man man man, dafür hätt ich auch gut nen erholsameren urlaub machen können
|
|
|
|
|
|
|
Achja und ne Sonnenbrille für 150,- EUR :X
|
|
|
|
|
|
|
| Zitat von SkunkyVillage
Hier gabs heute richtig, richtig mieses Gewitter.
| | Gibts morgen
|
|
|
|
|
|
|
| Zitat von TriggerTG
Achja und ne Sonnenbrille für 150,- EUR :X
| |
Lass mich raten, du hast keine Stärke?
Hast du nicht vor kurzem gefragt, wo all dein Geld hinginge?
|
|
|
|
|
|
|
Beides mal "Ja"
|
|
|
|
|
|
|
Das Problem ist, dass ich es nicht ertrage, wenn ich nicht für möglichst viele Eventualitäten vorsorge
Beim Essen hab ich zB bedacht, dass ich ja Besuch am Zelt erhalten könnte, der mit supi Bier, Konserven und Süßigkeiten versorgt werden möchte
|
|
|
|
|
|
|
Meine Erfahrung ist, dass man viel weniger futtert als geplant und man das meiste wieder mit nach Hause nimmt.
|
|
|
|
|
|
|
500g - 750g Fleisch pro Tag, 2 Packungen Milchbrötchen, 2 Packungen Salzstangen. Vll. noch Chips dazu. Reicht völlig!
|
|
|
|
|
|
|
| Zitat von SkunkyVillage
Meine Erfahrung ist, dass man viel weniger futtert als geplant und man das meiste wieder mit nach Hause nimmt.
| | dito. man trinkt bier und tanzt und latscht und faulenzt und dann kommt man irgendwann betrunken auf die idee, dass man hunger hat und kauft sich eh ein hotdog am stand.
und am ende nimmt man das meiste essen wieder mit oder lässt es liegen.
|
|
|
|
|
|
Thema: Gehirnsalat ( wir unter uns ) |